From 48607ed416353696b288964e960201549d539925 Mon Sep 17 00:00:00 2001 From: blitz-1306 Date: Mon, 16 Aug 2021 10:43:49 +0500 Subject: [PATCH 1/4] Updated dependencies. Added support of Solidity 0.8.7 on compiler level. No AST changes were needed for supporting 0.8.7 release. --- package-lock.json | 556 +- package.json | 21 +- src/compile/constants.ts | 11 +- test/integration/compile/04.spec.ts | 4 +- test/integration/compile/05.spec.ts | 4 +- test/integration/compile/06.spec.ts | 4 +- test/integration/compile/latest_06.spec.ts | 4 +- test/integration/compile/latest_07.spec.ts | 4 +- test/integration/compile/latest_08.spec.ts | 32 +- test/samples/solidity/latest_08.nodes.txt | 5416 ++++++++++--------- test/samples/solidity/latest_08.sol | 12 + test/samples/solidity/latest_08.sourced.sol | 12 + 12 files changed, 3294 insertions(+), 2786 deletions(-) diff --git a/package-lock.json b/package-lock.json index 59faac71..317d8be2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -72,8 +72,9 @@ "solc-0.8.4": "npm:solc@0.8.4", "solc-0.8.5": "npm:solc@0.8.5", "solc-0.8.6": "npm:solc@0.8.6", + "solc-0.8.7": "npm:solc@0.8.7-fixed", "src-location": "^1.1.0", - "web3-eth-abi": "^1.4.0" + "web3-eth-abi": "^1.5.2" }, "bin": { "sol-ast-compile": "dist/bin/compile.js" @@ -81,23 +82,23 @@ "devDependencies": { "@types/fs-extra": "^9.0.12", "@types/minimist": "^1.2.2", - "@types/mocha": "^8.2.3", - "@types/node": "^12.20.16", - "@types/semver": "^7.3.7", - "@typescript-eslint/eslint-plugin": "^4.28.4", - "@typescript-eslint/parser": "^4.28.4", + "@types/mocha": "^9.0.0", + "@types/node": "^12.20.19", + "@types/semver": "^7.3.8", + "@typescript-eslint/eslint-plugin": "^4.29.1", + "@typescript-eslint/parser": "^4.29.1", "codecov": "^3.8.3", - "eslint": "^7.31.0", + "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^3.4.0", "expect": "^27.0.6", - "mocha": "^9.0.2", + "mocha": "^9.0.3", "nyc": "^15.1.0", "peggy": "^1.2.0", "prettier": "2.3.2", - "ts-node": "^10.1.0", + "ts-node": "^10.2.0", "ts-pegjs": "^1.1.1", - "typedoc": "^0.21.4", + "typedoc": "^0.21.5", "typescript": "^4.3.5" } }, @@ -352,6 +353,27 @@ "to-fast-properties": "^2.0.0" } }, + "node_modules/@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz", + "integrity": "sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-consumer": "0.8.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -778,9 +800,9 @@ "dev": true }, "node_modules/@tsconfig/node16": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz", - "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", "dev": true }, "node_modules/@types/color-name": { @@ -823,9 +845,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", - "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "node_modules/@types/minimist": { @@ -835,21 +857,21 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz", - "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz", + "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==", "dev": true }, "node_modules/@types/node": { - "version": "12.20.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.16.tgz", - "integrity": "sha512-6CLxw83vQf6DKqXxMPwl8qpF8I7THFZuIwLt4TnNsumxkp1VsRZWT8txQxncT/Rl2UojTsFzWgDG4FRMwafrlA==", + "version": "12.20.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.19.tgz", + "integrity": "sha512-niAuZrwrjKck4+XhoCw6AAVQBENHftpXw9F4ryk66fTgYaKQ53R4FI7c9vUGGw5vQis1HKBHDR1gcYI/Bq1xvw==", "dev": true }, "node_modules/@types/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-4g1jrL98mdOIwSOUh6LTlB0Cs9I0dQPwINUhBg7C6pN4HLr8GS8xsksJxilW6S6dQHVi2K/o+lQuQcg7LroCnw==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==", "dev": true }, "node_modules/@types/stack-utils": { @@ -874,13 +896,13 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz", - "integrity": "sha512-s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.1.tgz", + "integrity": "sha512-AHqIU+SqZZgBEiWOrtN94ldR3ZUABV5dUG94j8Nms9rQnHFc8fvDOue/58K4CFz6r8OtDDc35Pw9NQPWo0Ayrw==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.28.4", - "@typescript-eslint/scope-manager": "4.28.4", + "@typescript-eslint/experimental-utils": "4.29.1", + "@typescript-eslint/scope-manager": "4.29.1", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -905,15 +927,15 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz", - "integrity": "sha512-OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.1.tgz", + "integrity": "sha512-kl6QG6qpzZthfd2bzPNSJB2YcZpNOrP6r9jueXupcZHnL74WiuSjaft7WSu17J9+ae9zTlk0KJMXPUj0daBxMw==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.28.4", - "@typescript-eslint/types": "4.28.4", - "@typescript-eslint/typescript-estree": "4.28.4", + "@typescript-eslint/scope-manager": "4.29.1", + "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/typescript-estree": "4.29.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -947,14 +969,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz", - "integrity": "sha512-4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.1.tgz", + "integrity": "sha512-3fL5iN20hzX3Q4OkG7QEPFjZV2qsVGiDhEwwh+EkmE/w7oteiOvUNzmpu5eSwGJX/anCryONltJ3WDmAzAoCMg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.28.4", - "@typescript-eslint/types": "4.28.4", - "@typescript-eslint/typescript-estree": "4.28.4", + "@typescript-eslint/scope-manager": "4.29.1", + "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/typescript-estree": "4.29.1", "debug": "^4.3.1" }, "engines": { @@ -974,13 +996,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz", - "integrity": "sha512-ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.1.tgz", + "integrity": "sha512-Hzv/uZOa9zrD/W5mftZa54Jd5Fed3tL6b4HeaOpwVSabJK8CJ+2MkDasnX/XK4rqP5ZTWngK1ZDeCi6EnxPQ7A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.28.4", - "@typescript-eslint/visitor-keys": "4.28.4" + "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/visitor-keys": "4.29.1" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -991,9 +1013,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz", - "integrity": "sha512-3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.1.tgz", + "integrity": "sha512-Jj2yu78IRfw4nlaLtKjVaGaxh/6FhofmQ/j8v3NXmAiKafbIqtAPnKYrf0sbGjKdj0hS316J8WhnGnErbJ4RCA==", "dev": true, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -1004,13 +1026,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz", - "integrity": "sha512-z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.1.tgz", + "integrity": "sha512-lIkkrR9E4lwZkzPiRDNq0xdC3f2iVCUjw/7WPJ4S2Sl6C3nRWkeE1YXCQ0+KsiaQRbpY16jNaokdWnm9aUIsfw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.28.4", - "@typescript-eslint/visitor-keys": "4.28.4", + "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/visitor-keys": "4.29.1", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1031,12 +1053,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz", - "integrity": "sha512-NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.1.tgz", + "integrity": "sha512-zLqtjMoXvgdZY/PG6gqA73V8BjqPs4af1v2kiiETBObp+uC6gRYnJLmJHxC0QyUrrHDLJPIWNYxoBV3wbcRlag==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/types": "4.29.1", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -1074,6 +1096,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", + "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -1274,12 +1305,6 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, "node_modules/buffer-to-arraybuffer": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", @@ -1733,9 +1758,9 @@ } }, "node_modules/eslint": { - "version": "7.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz", - "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "dependencies": { "@babel/code-frame": "7.12.11", @@ -3607,9 +3632,9 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "node_modules/mocha": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.2.tgz", - "integrity": "sha512-FpspiWU+UT9Sixx/wKimvnpkeW0mh6ROAKkIaPokj3xZgxeRhcna/k5X57jJghEr8X+Cgu/Vegf8zCX5ugSuTA==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.3.tgz", + "integrity": "sha512-hnYFrSefHxYS2XFGtN01x8un0EwNu2bzKvhpRFhgoybIvMaOkkL60IVPmkb5h6XDmUl4IMSB+rT5cIO4/4bJgg==", "dev": true, "dependencies": { "@ungap/promise-all-settled": "1.1.2", @@ -4538,9 +4563,9 @@ } }, "node_modules/parse-headers": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", + "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" }, "node_modules/parse-json": { "version": "2.2.0", @@ -10206,29 +10231,69 @@ "semver": "bin/semver" } }, - "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, + "node_modules/solc-0.8.7": { + "name": "solc", + "version": "0.8.7-fixed", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.7-fixed.tgz", + "integrity": "sha512-nWZRkdPwfBpimAelO30Bz7/hxoj+mylb30gEpBL8hhEWR4xqu2ezQAxWK1Hz5xx1NqesbgGjSgnGul49tRHWgQ==", + "dependencies": { + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" + }, + "bin": { + "solcjs": "solcjs" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0.0" } }, - "node_modules/source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, + "node_modules/solc-0.8.7/node_modules/fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" } }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/solc-0.8.7/node_modules/jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/solc-0.8.7/node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/solc-0.8.7/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "engines": { "node": ">=0.10.0" @@ -10620,20 +10685,22 @@ } }, "node_modules/ts-node": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", - "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.0.tgz", + "integrity": "sha512-FstYHtQz6isj8rBtYMN4bZdnXN1vq4HCbqn9vdNQcInRqtB86PePJQIxE6es0PhxKWhj2PHuwbG40H+bxkZPmg==", "dev": true, "dependencies": { + "@cspotcode/source-map-support": "0.6.1", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.1", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.17", "yn": "3.1.1" }, "bin": { @@ -10661,6 +10728,18 @@ } } }, + "node_modules/ts-node/node_modules/acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/ts-pegjs": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ts-pegjs/-/ts-pegjs-1.1.1.tgz", @@ -10725,9 +10804,9 @@ } }, "node_modules/typedoc": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.4.tgz", - "integrity": "sha512-slZQhvD9U0d9KacktYAyuNMMOXJRFNHy+Gd8xY2Qrqq3eTTTv3frv3N4au/cFnab9t3T5WA0Orb6QUjMc+1bDA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.5.tgz", + "integrity": "sha512-uRDRmYheE5Iju9Zz0X50pTASTpBorIHFt02F5Y8Dt4eBt55h3mwk1CBSY2+EfwBxY16N4Xm7f8KXhnfFZ0AmBw==", "dev": true, "dependencies": { "glob": "^7.1.7", @@ -10743,7 +10822,7 @@ "typedoc": "bin/typedoc" }, "engines": { - "node": ">= 12.20.0" + "node": ">= 12.10.0" }, "peerDependencies": { "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x" @@ -10784,11 +10863,6 @@ "node": ">=0.8.0" } }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" - }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -10856,22 +10930,21 @@ "dev": true }, "node_modules/web3-eth-abi": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.4.0.tgz", - "integrity": "sha512-FtmWipG/dSSkTGFb72JCwky7Jd0PIvd0kGTInWQwIEZlw5qMOYl61WZ9gwfojFHvHF6q1eKncerQr+MRXHO6zg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", + "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", "dependencies": { "@ethersproject/abi": "5.0.7", - "underscore": "1.12.1", - "web3-utils": "1.4.0" + "web3-utils": "1.5.2" }, "engines": { "node": ">=8.0.0" } }, "node_modules/web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz", + "integrity": "sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==", "dependencies": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -10879,7 +10952,6 @@ "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", "randombytes": "^2.1.0", - "underscore": "1.12.1", "utf8": "3.0.0" }, "engines": { @@ -11345,6 +11417,21 @@ "to-fast-properties": "^2.0.0" } }, + "@cspotcode/source-map-consumer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", + "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", + "dev": true + }, + "@cspotcode/source-map-support": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.6.1.tgz", + "integrity": "sha512-DX3Z+T5dt1ockmPdobJS/FAsQPW4V4SrWEhD2iYQT2Cb2tQsiMnYxrcUH9By/Z3B+v0S5LMBkQtV/XOBbpLEOg==", + "dev": true, + "requires": { + "@cspotcode/source-map-consumer": "0.8.0" + } + }, "@eslint/eslintrc": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", @@ -11724,9 +11811,9 @@ "dev": true }, "@tsconfig/node16": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.1.tgz", - "integrity": "sha512-FTgBI767POY/lKNDNbIzgAX6miIDBs6NTCbdlDb8TrWovHsSvaVIZDlTqym29C6UqhzwcJx4CYr+AlrMywA0cA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", + "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", "dev": true }, "@types/color-name": { @@ -11769,9 +11856,9 @@ } }, "@types/json-schema": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.8.tgz", - "integrity": "sha512-YSBPTLTVm2e2OoQIDYx8HaeWJ5tTToLH67kXR7zYNGupXMEHa2++G8k+DczX2cFVgalypqtyZIcU19AFcmOpmg==", + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", "dev": true }, "@types/minimist": { @@ -11781,21 +11868,21 @@ "dev": true }, "@types/mocha": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz", - "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz", + "integrity": "sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==", "dev": true }, "@types/node": { - "version": "12.20.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.16.tgz", - "integrity": "sha512-6CLxw83vQf6DKqXxMPwl8qpF8I7THFZuIwLt4TnNsumxkp1VsRZWT8txQxncT/Rl2UojTsFzWgDG4FRMwafrlA==", + "version": "12.20.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.19.tgz", + "integrity": "sha512-niAuZrwrjKck4+XhoCw6AAVQBENHftpXw9F4ryk66fTgYaKQ53R4FI7c9vUGGw5vQis1HKBHDR1gcYI/Bq1xvw==", "dev": true }, "@types/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-4g1jrL98mdOIwSOUh6LTlB0Cs9I0dQPwINUhBg7C6pN4HLr8GS8xsksJxilW6S6dQHVi2K/o+lQuQcg7LroCnw==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-D/2EJvAlCEtYFEYmmlGwbGXuK886HzyCc3nZX/tkFTQdEU8jZDAgiv08P162yB17y4ZXZoq7yFAnW4GDBb9Now==", "dev": true }, "@types/stack-utils": { @@ -11820,13 +11907,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz", - "integrity": "sha512-s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.1.tgz", + "integrity": "sha512-AHqIU+SqZZgBEiWOrtN94ldR3ZUABV5dUG94j8Nms9rQnHFc8fvDOue/58K4CFz6r8OtDDc35Pw9NQPWo0Ayrw==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.28.4", - "@typescript-eslint/scope-manager": "4.28.4", + "@typescript-eslint/experimental-utils": "4.29.1", + "@typescript-eslint/scope-manager": "4.29.1", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -11835,15 +11922,15 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz", - "integrity": "sha512-OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.1.tgz", + "integrity": "sha512-kl6QG6qpzZthfd2bzPNSJB2YcZpNOrP6r9jueXupcZHnL74WiuSjaft7WSu17J9+ae9zTlk0KJMXPUj0daBxMw==", "dev": true, "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.28.4", - "@typescript-eslint/types": "4.28.4", - "@typescript-eslint/typescript-estree": "4.28.4", + "@typescript-eslint/scope-manager": "4.29.1", + "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/typescript-estree": "4.29.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -11860,41 +11947,41 @@ } }, "@typescript-eslint/parser": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz", - "integrity": "sha512-4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.1.tgz", + "integrity": "sha512-3fL5iN20hzX3Q4OkG7QEPFjZV2qsVGiDhEwwh+EkmE/w7oteiOvUNzmpu5eSwGJX/anCryONltJ3WDmAzAoCMg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.28.4", - "@typescript-eslint/types": "4.28.4", - "@typescript-eslint/typescript-estree": "4.28.4", + "@typescript-eslint/scope-manager": "4.29.1", + "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/typescript-estree": "4.29.1", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz", - "integrity": "sha512-ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.1.tgz", + "integrity": "sha512-Hzv/uZOa9zrD/W5mftZa54Jd5Fed3tL6b4HeaOpwVSabJK8CJ+2MkDasnX/XK4rqP5ZTWngK1ZDeCi6EnxPQ7A==", "dev": true, "requires": { - "@typescript-eslint/types": "4.28.4", - "@typescript-eslint/visitor-keys": "4.28.4" + "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/visitor-keys": "4.29.1" } }, "@typescript-eslint/types": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz", - "integrity": "sha512-3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.1.tgz", + "integrity": "sha512-Jj2yu78IRfw4nlaLtKjVaGaxh/6FhofmQ/j8v3NXmAiKafbIqtAPnKYrf0sbGjKdj0hS316J8WhnGnErbJ4RCA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz", - "integrity": "sha512-z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.1.tgz", + "integrity": "sha512-lIkkrR9E4lwZkzPiRDNq0xdC3f2iVCUjw/7WPJ4S2Sl6C3nRWkeE1YXCQ0+KsiaQRbpY16jNaokdWnm9aUIsfw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.28.4", - "@typescript-eslint/visitor-keys": "4.28.4", + "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/visitor-keys": "4.29.1", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -11903,12 +11990,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.28.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz", - "integrity": "sha512-NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.1.tgz", + "integrity": "sha512-zLqtjMoXvgdZY/PG6gqA73V8BjqPs4af1v2kiiETBObp+uC6gRYnJLmJHxC0QyUrrHDLJPIWNYxoBV3wbcRlag==", "dev": true, "requires": { - "@typescript-eslint/types": "4.28.4", + "@typescript-eslint/types": "4.29.1", "eslint-visitor-keys": "^2.0.0" } }, @@ -11931,6 +12018,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", + "integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==", + "dev": true + }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -12091,12 +12184,6 @@ "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, "buffer-to-arraybuffer": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", @@ -12463,9 +12550,9 @@ "dev": true }, "eslint": { - "version": "7.31.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.31.0.tgz", - "integrity": "sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA==", + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -13916,9 +14003,9 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mocha": { - "version": "9.0.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.2.tgz", - "integrity": "sha512-FpspiWU+UT9Sixx/wKimvnpkeW0mh6ROAKkIaPokj3xZgxeRhcna/k5X57jJghEr8X+Cgu/Vegf8zCX5ugSuTA==", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.3.tgz", + "integrity": "sha512-hnYFrSefHxYS2XFGtN01x8un0EwNu2bzKvhpRFhgoybIvMaOkkL60IVPmkb5h6XDmUl4IMSB+rT5cIO4/4bJgg==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", @@ -14647,9 +14734,9 @@ } }, "parse-headers": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.3.tgz", - "integrity": "sha512-QhhZ+DCCit2Coi2vmAKbq5RGTRcQUOE2+REgv8vdyu7MnYx2eZztegqtTx99TZ86GTIwqiy3+4nQTWZ2tgmdCA==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.4.tgz", + "integrity": "sha512-psZ9iZoCNFLrgRjZ1d8mn0h9WRqJwFxM9q3x7iUjN/YT2OksthDJ5TiPCu2F38kS4zutqfW+YdVVkBZZx3/1aw==" }, "parse-json": { "version": "2.2.0", @@ -19233,30 +19320,60 @@ } } }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, + "solc-0.8.7": { + "version": "npm:solc@0.8.7-fixed", + "resolved": "https://registry.npmjs.org/solc/-/solc-0.8.7-fixed.tgz", + "integrity": "sha512-nWZRkdPwfBpimAelO30Bz7/hxoj+mylb30gEpBL8hhEWR4xqu2ezQAxWK1Hz5xx1NqesbgGjSgnGul49tRHWgQ==", "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" + "command-exists": "^1.2.8", + "commander": "3.0.2", + "follow-redirects": "^1.12.1", + "fs-extra": "^0.30.0", + "js-sha3": "0.8.0", + "memorystream": "^0.3.1", + "require-from-string": "^2.0.0", + "semver": "^5.5.0", + "tmp": "0.0.33" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "fs-extra": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", + "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==" + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" } } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, "spawn-wrap": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz", @@ -19565,21 +19682,31 @@ } }, "ts-node": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.1.0.tgz", - "integrity": "sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.0.tgz", + "integrity": "sha512-FstYHtQz6isj8rBtYMN4bZdnXN1vq4HCbqn9vdNQcInRqtB86PePJQIxE6es0PhxKWhj2PHuwbG40H+bxkZPmg==", "dev": true, "requires": { + "@cspotcode/source-map-support": "0.6.1", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.1", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.17", "yn": "3.1.1" + }, + "dependencies": { + "acorn": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", + "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "dev": true + } } }, "ts-pegjs": { @@ -19629,9 +19756,9 @@ } }, "typedoc": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.4.tgz", - "integrity": "sha512-slZQhvD9U0d9KacktYAyuNMMOXJRFNHy+Gd8xY2Qrqq3eTTTv3frv3N4au/cFnab9t3T5WA0Orb6QUjMc+1bDA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.5.tgz", + "integrity": "sha512-uRDRmYheE5Iju9Zz0X50pTASTpBorIHFt02F5Y8Dt4eBt55h3mwk1CBSY2+EfwBxY16N4Xm7f8KXhnfFZ0AmBw==", "dev": true, "requires": { "glob": "^7.1.7", @@ -19663,11 +19790,6 @@ "dev": true, "optional": true }, - "underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" - }, "universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", @@ -19729,19 +19851,18 @@ "dev": true }, "web3-eth-abi": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.4.0.tgz", - "integrity": "sha512-FtmWipG/dSSkTGFb72JCwky7Jd0PIvd0kGTInWQwIEZlw5qMOYl61WZ9gwfojFHvHF6q1eKncerQr+MRXHO6zg==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.5.2.tgz", + "integrity": "sha512-P3bJbDR5wib4kWGfVeBKBVi27T+AiHy4EJxYM6SMNbpm3DboLDdisu9YBd6INMs8rzxgnprBbGmmyn4jKIDKAA==", "requires": { "@ethersproject/abi": "5.0.7", - "underscore": "1.12.1", - "web3-utils": "1.4.0" + "web3-utils": "1.5.2" } }, "web3-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.4.0.tgz", - "integrity": "sha512-b8mEhwh/J928Xk+SQFjtqrR2EGPhpknWLcIt9aCpVPVRXiqjUGo/kpOHKz0azu9c6/onEJ9tWXZt0cVjmH0N5Q==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.5.2.tgz", + "integrity": "sha512-quTtTeQJHYSxAwIBOCGEcQtqdVcFWX6mCFNoqnp+mRbq+Hxbs8CGgO/6oqfBx4OvxIOfCpgJWYVHswRXnbEu9Q==", "requires": { "bn.js": "^4.11.9", "eth-lib": "0.2.8", @@ -19749,7 +19870,6 @@ "ethjs-unit": "0.1.6", "number-to-bn": "1.7.0", "randombytes": "^2.1.0", - "underscore": "1.12.1", "utf8": "3.0.0" } }, diff --git a/package.json b/package.json index b682a8cd..ccc66b4f 100644 --- a/package.json +++ b/package.json @@ -90,29 +90,30 @@ "solc-0.8.4": "npm:solc@0.8.4", "solc-0.8.5": "npm:solc@0.8.5", "solc-0.8.6": "npm:solc@0.8.6", + "solc-0.8.7": "npm:solc@0.8.7-fixed", "src-location": "^1.1.0", - "web3-eth-abi": "^1.4.0" + "web3-eth-abi": "^1.5.2" }, "devDependencies": { "@types/fs-extra": "^9.0.12", "@types/minimist": "^1.2.2", - "@types/mocha": "^8.2.3", - "@types/node": "^12.20.16", - "@types/semver": "^7.3.7", - "@typescript-eslint/eslint-plugin": "^4.28.4", - "@typescript-eslint/parser": "^4.28.4", + "@types/mocha": "^9.0.0", + "@types/node": "^12.20.19", + "@types/semver": "^7.3.8", + "@typescript-eslint/eslint-plugin": "^4.29.1", + "@typescript-eslint/parser": "^4.29.1", "codecov": "^3.8.3", - "eslint": "^7.31.0", + "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-prettier": "^3.4.0", "expect": "^27.0.6", - "mocha": "^9.0.2", + "mocha": "^9.0.3", "nyc": "^15.1.0", "peggy": "^1.2.0", "prettier": "2.3.2", - "ts-node": "^10.1.0", + "ts-node": "^10.2.0", "ts-pegjs": "^1.1.1", - "typedoc": "^0.21.4", + "typedoc": "^0.21.5", "typescript": "^4.3.5" }, "homepage": "https://consensys.github.io/solc-typed-ast", diff --git a/src/compile/constants.ts b/src/compile/constants.ts index e08df172..2709e994 100644 --- a/src/compile/constants.ts +++ b/src/compile/constants.ts @@ -54,7 +54,16 @@ export const CompilerVersions06 = [ export const CompilerVersions07 = ["0.7.0", "0.7.1", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6"]; -export const CompilerVersions08 = ["0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.8.6"]; +export const CompilerVersions08 = [ + "0.8.0", + "0.8.1", + "0.8.2", + "0.8.3", + "0.8.4", + "0.8.5", + "0.8.6", + "0.8.7" +]; export const CompilerSeries = [ CompilerVersions04, diff --git a/test/integration/compile/04.spec.ts b/test/integration/compile/04.spec.ts index 5ae37c16..86f1ec89 100644 --- a/test/integration/compile/04.spec.ts +++ b/test/integration/compile/04.spec.ts @@ -54,7 +54,7 @@ describe(`Compile ${sample} with any available 0.4.x compiler`, () => { let data: any = {}; let sourceUnits: SourceUnit[]; - before("Compile", (done) => { + before("Compile", () => { const result = compileSol(sample, version, []); expect(result.compilerVersion).toEqual(version); @@ -65,8 +65,6 @@ describe(`Compile ${sample} with any available 0.4.x compiler`, () => { expect(errors).toHaveLength(0); data = result.data; - - done(); }); it("Process compiler output", () => { diff --git a/test/integration/compile/05.spec.ts b/test/integration/compile/05.spec.ts index f6774288..ecc0f5c5 100644 --- a/test/integration/compile/05.spec.ts +++ b/test/integration/compile/05.spec.ts @@ -54,7 +54,7 @@ describe(`Compile ${sample} with any available 0.5.x compiler`, () => { let data: any = {}; let sourceUnits: SourceUnit[]; - before("Compile", (done) => { + before("Compile", () => { const result = compileSol(sample, version, []); expect(result.compilerVersion).toEqual(version); @@ -65,8 +65,6 @@ describe(`Compile ${sample} with any available 0.5.x compiler`, () => { expect(errors).toHaveLength(0); data = result.data; - - done(); }); for (const kind of [ASTKind.Modern, ASTKind.Legacy]) { diff --git a/test/integration/compile/06.spec.ts b/test/integration/compile/06.spec.ts index 781bc92b..e0f328a9 100644 --- a/test/integration/compile/06.spec.ts +++ b/test/integration/compile/06.spec.ts @@ -57,7 +57,7 @@ describe(`Compile ${sample} with any available 0.6.x compiler`, () => { let data: any = {}; let sourceUnits: SourceUnit[]; - before("Compile", (done) => { + before("Compile", () => { const result = compileSol(sample, version, []); expect(result.compilerVersion).toEqual(version); @@ -68,8 +68,6 @@ describe(`Compile ${sample} with any available 0.6.x compiler`, () => { expect(errors).toHaveLength(0); data = result.data; - - done(); }); for (const kind of [ASTKind.Modern, ASTKind.Legacy]) { diff --git a/test/integration/compile/latest_06.spec.ts b/test/integration/compile/latest_06.spec.ts index cf500f8c..a3a38020 100644 --- a/test/integration/compile/latest_06.spec.ts +++ b/test/integration/compile/latest_06.spec.ts @@ -64,7 +64,7 @@ describe(`Compile ${sample} with ${compilerVersion} compiler`, () => { let data: any = {}; let sourceUnits: SourceUnit[]; - before("Compile", (done) => { + before("Compile", () => { const result = compileSol(sample, "auto", []); expect(result.compilerVersion).toEqual(compilerVersion); @@ -75,8 +75,6 @@ describe(`Compile ${sample} with ${compilerVersion} compiler`, () => { expect(errors).toHaveLength(0); data = result.data; - - done(); }); for (const kind of [ASTKind.Modern, ASTKind.Legacy]) { diff --git a/test/integration/compile/latest_07.spec.ts b/test/integration/compile/latest_07.spec.ts index 054f7778..550f96bc 100644 --- a/test/integration/compile/latest_07.spec.ts +++ b/test/integration/compile/latest_07.spec.ts @@ -55,7 +55,7 @@ describe(`Compile ${sample} with ${compilerVersion} compiler`, () => { let data: any = {}; let sourceUnits: SourceUnit[]; - before("Compile", (done) => { + before("Compile", () => { const result = compileSol(sample, "auto", []); expect(result.compilerVersion).toEqual(compilerVersion); @@ -66,8 +66,6 @@ describe(`Compile ${sample} with ${compilerVersion} compiler`, () => { expect(errors).toHaveLength(0); data = result.data; - - done(); }); for (const kind of [ASTKind.Modern, ASTKind.Legacy]) { diff --git a/test/integration/compile/latest_08.spec.ts b/test/integration/compile/latest_08.spec.ts index dab5e8d6..791c0afa 100644 --- a/test/integration/compile/latest_08.spec.ts +++ b/test/integration/compile/latest_08.spec.ts @@ -28,26 +28,26 @@ const encounters = new Map([ ["ImportDirective", 1], ["EnumDefinition", 2], ["EnumValue", 6], - ["ContractDefinition", 7], - ["FunctionDefinition", 13], - ["ParameterList", 35], - ["VariableDeclaration", 21], - ["ElementaryTypeName", 21], - ["Block", 30], + ["ContractDefinition", 8], + ["FunctionDefinition", 15], + ["ParameterList", 39], + ["VariableDeclaration", 23], + ["ElementaryTypeName", 23], + ["Block", 32], ["VariableDeclarationStatement", 9], ["Literal", 21], ["UncheckedBlock", 2], ["ExpressionStatement", 7], ["UnaryOperation", 2], - ["Identifier", 20], - ["Return", 4], + ["Identifier", 21], + ["Return", 5], ["InheritanceSpecifier", 1], ["IdentifierPath", 11], ["UsingForDirective", 1], ["UserDefinedTypeName", 6], ["ModifierInvocation", 2], ["FunctionCall", 16], - ["MemberAccess", 8], + ["MemberAccess", 9], ["OverrideSpecifier", 1], ["ElementaryTypeNameExpression", 3], ["NewExpression", 2], @@ -65,7 +65,7 @@ const encounters = new Map([ ["DoWhileStatement", 1], ["Break", 1], ["ForStatement", 1], - ["InlineAssembly", 2], + ["InlineAssembly", 3], ["ErrorDefinition", 3], ["StructuredDocumentation", 3], ["RevertStatement", 3] @@ -77,7 +77,7 @@ describe(`Compile ${mainSample} with ${compilerVersion} compiler`, () => { let data: any = {}; let sourceUnits: SourceUnit[]; - before("Compile", (done) => { + before("Compile", () => { const result = compileSol(mainSample, "auto", []); expect(result.compilerVersion).toEqual(compilerVersion); @@ -88,8 +88,6 @@ describe(`Compile ${mainSample} with ${compilerVersion} compiler`, () => { expect(errors).toHaveLength(0); data = result.data; - - done(); }); it(`Parse compiler output (${kind})`, () => { @@ -101,11 +99,11 @@ describe(`Compile ${mainSample} with ${compilerVersion} compiler`, () => { const sourceUnit = sourceUnits[0]; - expect(sourceUnit.id).toEqual(298); - expect(sourceUnit.src).toEqual("0:4474:0"); + expect(sourceUnit.id).toEqual(315); + expect(sourceUnit.src).toEqual("0:4733:0"); expect(sourceUnit.absolutePath).toEqual(mainSample); - expect(sourceUnit.children.length).toEqual(12); - expect(sourceUnit.getChildren().length).toEqual(292); + expect(sourceUnit.children.length).toEqual(13); + expect(sourceUnit.getChildren().length).toEqual(309); }); it(`Validate parsed output (${kind})`, () => { diff --git a/test/samples/solidity/latest_08.nodes.txt b/test/samples/solidity/latest_08.nodes.txt index b971cb7c..a1c21769 100644 --- a/test/samples/solidity/latest_08.nodes.txt +++ b/test/samples/solidity/latest_08.nodes.txt @@ -1,198 +1,198 @@ -SourceUnit #607 - id: 607 +SourceUnit #641 + id: 641 src: "0:0:0" type: "SourceUnit" sourceEntryKey: "./test/samples/solidity/latest_08.sol" sourceListIndex: 0 absolutePath: "./test/samples/solidity/latest_08.sol" - exportedSymbols: Map(10) { "CatchPanic" -> 452, "EmitsIdentifierPath" -> 374, "EnumABC" -> 321, "Features082" -> 537, "Features084" -> 606, "LI" -> 317, "LibErrors084" -> 548, "UncheckedMathExample" -> 338, "UnitLevelError084" -> 542, "UsesNewAddressMembers" -> 395 } + exportedSymbols: Map(11) { "CatchPanic" -> 469, "EmitsIdentifierPath" -> 391, "EnumABC" -> 338, "Features082" -> 554, "Features084" -> 623, "Features087" -> 640, "LI" -> 334, "LibErrors084" -> 565, "UncheckedMathExample" -> 355, "UnitLevelError084" -> 559, "UsesNewAddressMembers" -> 412 } context: ASTContext #1000 - vPragmaDirectives: Array(2) [ PragmaDirective #315, PragmaDirective #316 ] - vImportDirectives: Array(1) [ ImportDirective #317 ] - vContracts: Array(7) [ ContractDefinition #338, ContractDefinition #374, ContractDefinition #395, ContractDefinition #452, ContractDefinition #537, ContractDefinition #548, ContractDefinition #606 ] - vEnums: Array(1) [ EnumDefinition #321 ] - vErrors: Array(1) [ ErrorDefinition #542 ] + vPragmaDirectives: Array(2) [ PragmaDirective #332, PragmaDirective #333 ] + vImportDirectives: Array(1) [ ImportDirective #334 ] + vContracts: Array(8) [ ContractDefinition #355, ContractDefinition #391, ContractDefinition #412, ContractDefinition #469, ContractDefinition #554, ContractDefinition #565, ContractDefinition #623, ContractDefinition #640 ] + vEnums: Array(1) [ EnumDefinition #338 ] + vErrors: Array(1) [ ErrorDefinition #559 ] vStructs: Array(0) vFunctions: Array(0) vVariables: Array(0) - vExportedSymbols: Map(10) { "CatchPanic" -> ContractDefinition #452, "EmitsIdentifierPath" -> ContractDefinition #374, "EnumABC" -> EnumDefinition #321, "Features082" -> ContractDefinition #537, "Features084" -> ContractDefinition #606, "LI" -> ImportDirective #317, "LibErrors084" -> ContractDefinition #548, "UncheckedMathExample" -> ContractDefinition #338, "UnitLevelError084" -> ErrorDefinition #542, "UsesNewAddressMembers" -> ContractDefinition #395 } - children: Array(12) [ PragmaDirective #315, PragmaDirective #316, ImportDirective #317, EnumDefinition #321, ContractDefinition #338, ContractDefinition #374, ContractDefinition #395, ContractDefinition #452, ContractDefinition #537, ErrorDefinition #542, ContractDefinition #548, ContractDefinition #606 ] - firstChild: PragmaDirective #315 - lastChild: ContractDefinition #606 + vExportedSymbols: Map(11) { "CatchPanic" -> ContractDefinition #469, "EmitsIdentifierPath" -> ContractDefinition #391, "EnumABC" -> EnumDefinition #338, "Features082" -> ContractDefinition #554, "Features084" -> ContractDefinition #623, "Features087" -> ContractDefinition #640, "LI" -> ImportDirective #334, "LibErrors084" -> ContractDefinition #565, "UncheckedMathExample" -> ContractDefinition #355, "UnitLevelError084" -> ErrorDefinition #559, "UsesNewAddressMembers" -> ContractDefinition #412 } + children: Array(13) [ PragmaDirective #332, PragmaDirective #333, ImportDirective #334, EnumDefinition #338, ContractDefinition #355, ContractDefinition #391, ContractDefinition #412, ContractDefinition #469, ContractDefinition #554, ErrorDefinition #559, ContractDefinition #565, ContractDefinition #623, ContractDefinition #640 ] + firstChild: PragmaDirective #332 + lastChild: ContractDefinition #640 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - PragmaDirective #315 - id: 315 + PragmaDirective #332 + id: 332 src: "0:0:0" type: "PragmaDirective" literals: Array(4) [ "solidity", "^", "0.8", ".0" ] context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 vIdentifier: "solidity" vValue: "^0.8.0" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: PragmaDirective #316 - root: SourceUnit #607 + nextSibling: PragmaDirective #333 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - PragmaDirective #316 - id: 316 + PragmaDirective #333 + id: 333 src: "0:0:0" type: "PragmaDirective" literals: Array(2) [ "abicoder", "v2" ] context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 vIdentifier: "abicoder" vValue: "v2" children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: PragmaDirective #315 - nextSibling: ImportDirective #317 - root: SourceUnit #607 + previousSibling: PragmaDirective #332 + nextSibling: ImportDirective #334 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ImportDirective #317 - id: 317 + ImportDirective #334 + id: 334 src: "0:0:0" type: "ImportDirective" file: "./latest_imports_08.sol" absolutePath: "./test/samples/solidity/latest_imports_08.sol" unitAlias: "LI" symbolAliases: Array(0) - scope: 607 - sourceUnit: 314 + scope: 641 + sourceUnit: 331 context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 children: Array(0) - vScope: SourceUnit #607 - vSourceUnit: SourceUnit #314 + vScope: SourceUnit #641 + vSourceUnit: SourceUnit #331 vSymbolAliases: Array(0) firstChild: undefined lastChild: undefined - previousSibling: PragmaDirective #316 - nextSibling: EnumDefinition #321 - root: SourceUnit #607 + previousSibling: PragmaDirective #333 + nextSibling: EnumDefinition #338 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumDefinition #321 - id: 321 + EnumDefinition #338 + id: 338 src: "0:0:0" type: "EnumDefinition" name: "EnumABC" canonicalName: "EnumABC" nameLocation: "91:7:0" context: ASTContext #1000 - parent: SourceUnit #607 - vMembers: Array(3) [ EnumValue #318, EnumValue #319, EnumValue #320 ] - vScope: SourceUnit #607 - children: Array(3) [ EnumValue #318, EnumValue #319, EnumValue #320 ] - firstChild: EnumValue #318 - lastChild: EnumValue #320 - previousSibling: ImportDirective #317 - nextSibling: ContractDefinition #338 - root: SourceUnit #607 + parent: SourceUnit #641 + vMembers: Array(3) [ EnumValue #335, EnumValue #336, EnumValue #337 ] + vScope: SourceUnit #641 + children: Array(3) [ EnumValue #335, EnumValue #336, EnumValue #337 ] + firstChild: EnumValue #335 + lastChild: EnumValue #337 + previousSibling: ImportDirective #334 + nextSibling: ContractDefinition #355 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #318 - id: 318 + EnumValue #335 + id: 335 src: "0:0:0" type: "EnumValue" name: "A" nameLocation: "105:1:0" context: ASTContext #1000 - parent: EnumDefinition #321 + parent: EnumDefinition #338 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: EnumValue #319 - root: SourceUnit #607 + nextSibling: EnumValue #336 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #319 - id: 319 + EnumValue #336 + id: 336 src: "0:0:0" type: "EnumValue" name: "B" nameLocation: "108:1:0" context: ASTContext #1000 - parent: EnumDefinition #321 + parent: EnumDefinition #338 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: EnumValue #318 - nextSibling: EnumValue #320 - root: SourceUnit #607 + previousSibling: EnumValue #335 + nextSibling: EnumValue #337 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #320 - id: 320 + EnumValue #337 + id: 337 src: "0:0:0" type: "EnumValue" name: "C" nameLocation: "111:1:0" context: ASTContext #1000 - parent: EnumDefinition #321 + parent: EnumDefinition #338 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: EnumValue #319 + previousSibling: EnumValue #336 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #338 - id: 338 + ContractDefinition #355 + id: 355 src: "0:0:0" type: "ContractDefinition" name: "UncheckedMathExample" - scope: 607 + scope: 641 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 338 ] + linearizedBaseContracts: Array(1) [ 355 ] usedErrors: Array(0) docString: undefined nameLocation: "125:20:0" context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 documentation: undefined - vScope: SourceUnit #607 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #338 ] + vScope: SourceUnit #641 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #355 ] vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) vErrors: Array(0) - vFunctions: Array(1) [ FunctionDefinition #337 ] + vFunctions: Array(1) [ FunctionDefinition #354 ] vUsingForDirectives: Array(0) vStructs: Array(0) vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(1) [ FunctionDefinition #337 ] - firstChild: FunctionDefinition #337 - lastChild: FunctionDefinition #337 - previousSibling: EnumDefinition #321 - nextSibling: ContractDefinition #374 - root: SourceUnit #607 + children: Array(1) [ FunctionDefinition #354 ] + firstChild: FunctionDefinition #354 + lastChild: FunctionDefinition #354 + previousSibling: EnumDefinition #338 + nextSibling: ContractDefinition #391 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #337 - id: 337 + FunctionDefinition #354 + id: 354 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 338 + scope: 355 kind: "function" name: "test" visibility: "public" @@ -200,62 +200,62 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "161:4:0" - vParameters: ParameterList #322 - vReturnParameters: ParameterList #325 + vParameters: ParameterList #339 + vReturnParameters: ParameterList #342 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #336 + vBody: Block #353 context: ASTContext #1000 - parent: ContractDefinition #338 - children: Array(3) [ ParameterList #322, ParameterList #325, Block #336 ] - vScope: ContractDefinition #338 + parent: ContractDefinition #355 + children: Array(3) [ ParameterList #339, ParameterList #342, Block #353 ] + vScope: ContractDefinition #355 canonicalSignature: "test()" canonicalSignatureHash: "f8a8fd6d" - firstChild: ParameterList #322 - lastChild: Block #336 + firstChild: ParameterList #339 + lastChild: Block #353 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #322 - id: 322 + ParameterList #339 + id: 339 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #337 + parent: FunctionDefinition #354 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #325 - root: SourceUnit #607 + nextSibling: ParameterList #342 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #325 - id: 325 + ParameterList #342 + id: 342 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #337 - vParameters: Array(1) [ VariableDeclaration #324 ] - children: Array(1) [ VariableDeclaration #324 ] - firstChild: VariableDeclaration #324 - lastChild: VariableDeclaration #324 - previousSibling: ParameterList #322 - nextSibling: Block #336 - root: SourceUnit #607 + parent: FunctionDefinition #354 + vParameters: Array(1) [ VariableDeclaration #341 ] + children: Array(1) [ VariableDeclaration #341 ] + firstChild: VariableDeclaration #341 + lastChild: VariableDeclaration #341 + previousSibling: ParameterList #339 + nextSibling: Block #353 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #324 - id: 324 + VariableDeclaration #341 + id: 341 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "" - scope: 337 + scope: 354 stateVariable: false storageLocation: "default" visibility: "internal" @@ -263,82 +263,82 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "-1:-1:-1" - vType: ElementaryTypeName #323 + vType: ElementaryTypeName #340 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #325 - children: Array(1) [ ElementaryTypeName #323 ] - vScope: FunctionDefinition #337 + parent: ParameterList #342 + children: Array(1) [ ElementaryTypeName #340 ] + vScope: FunctionDefinition #354 canonicalSignatureType: "uint256" getterCanonicalSignature: "()" getterCanonicalSignatureHash: "861731d5" - firstChild: ElementaryTypeName #323 - lastChild: ElementaryTypeName #323 + firstChild: ElementaryTypeName #340 + lastChild: ElementaryTypeName #340 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #323 - id: 323 + ElementaryTypeName #340 + id: 340 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #324 + parent: VariableDeclaration #341 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #336 - id: 336 + Block #353 + id: 353 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #337 - vStatements: Array(3) [ VariableDeclarationStatement #329, UncheckedBlock #333, Return #335 ] - children: Array(3) [ VariableDeclarationStatement #329, UncheckedBlock #333, Return #335 ] - firstChild: VariableDeclarationStatement #329 - lastChild: Return #335 - previousSibling: ParameterList #325 + parent: FunctionDefinition #354 + vStatements: Array(3) [ VariableDeclarationStatement #346, UncheckedBlock #350, Return #352 ] + children: Array(3) [ VariableDeclarationStatement #346, UncheckedBlock #350, Return #352 ] + firstChild: VariableDeclarationStatement #346 + lastChild: Return #352 + previousSibling: ParameterList #342 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #329 - id: 329 + VariableDeclarationStatement #346 + id: 346 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 327 ] - vDeclarations: Array(1) [ VariableDeclaration #327 ] - vInitialValue: Literal #328 + assignments: Array(1) [ 344 ] + vDeclarations: Array(1) [ VariableDeclaration #344 ] + vInitialValue: Literal #345 context: ASTContext #1000 - parent: Block #336 - children: Array(2) [ VariableDeclaration #327, Literal #328 ] - firstChild: VariableDeclaration #327 - lastChild: Literal #328 + parent: Block #353 + children: Array(2) [ VariableDeclaration #344, Literal #345 ] + firstChild: VariableDeclaration #344 + lastChild: Literal #345 previousSibling: undefined - nextSibling: UncheckedBlock #333 - root: SourceUnit #607 + nextSibling: UncheckedBlock #350 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #327 - id: 327 + VariableDeclaration #344 + id: 344 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "x" - scope: 336 + scope: 353 stateVariable: false storageLocation: "default" visibility: "internal" @@ -346,42 +346,42 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "210:1:0" - vType: ElementaryTypeName #326 + vType: ElementaryTypeName #343 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #329 - children: Array(1) [ ElementaryTypeName #326 ] - vScope: Block #336 + parent: VariableDeclarationStatement #346 + children: Array(1) [ ElementaryTypeName #343 ] + vScope: Block #353 canonicalSignatureType: "uint256" getterCanonicalSignature: "x()" getterCanonicalSignatureHash: "0c55699c" - firstChild: ElementaryTypeName #326 - lastChild: ElementaryTypeName #326 + firstChild: ElementaryTypeName #343 + lastChild: ElementaryTypeName #343 previousSibling: undefined - nextSibling: Literal #328 - root: SourceUnit #607 + nextSibling: Literal #345 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #326 - id: 326 + ElementaryTypeName #343 + id: 343 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #327 + parent: VariableDeclaration #344 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #328 - id: 328 + Literal #345 + id: 345 src: "0:0:0" type: "Literal" typeString: "int_const 0" @@ -390,268 +390,268 @@ SourceUnit #607 value: "0" subdenomination: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #329 + parent: VariableDeclarationStatement #346 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: VariableDeclaration #327 + previousSibling: VariableDeclaration #344 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UncheckedBlock #333 - id: 333 + UncheckedBlock #350 + id: 350 src: "0:0:0" type: "UncheckedBlock" documentation: undefined context: ASTContext #1000 - parent: Block #336 - vStatements: Array(1) [ ExpressionStatement #332 ] - children: Array(1) [ ExpressionStatement #332 ] - firstChild: ExpressionStatement #332 - lastChild: ExpressionStatement #332 - previousSibling: VariableDeclarationStatement #329 - nextSibling: Return #335 - root: SourceUnit #607 + parent: Block #353 + vStatements: Array(1) [ ExpressionStatement #349 ] + children: Array(1) [ ExpressionStatement #349 ] + firstChild: ExpressionStatement #349 + lastChild: ExpressionStatement #349 + previousSibling: VariableDeclarationStatement #346 + nextSibling: Return #352 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #332 - id: 332 + ExpressionStatement #349 + id: 349 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: UnaryOperation #331 + vExpression: UnaryOperation #348 context: ASTContext #1000 - parent: UncheckedBlock #333 - children: Array(1) [ UnaryOperation #331 ] - firstChild: UnaryOperation #331 - lastChild: UnaryOperation #331 + parent: UncheckedBlock #350 + children: Array(1) [ UnaryOperation #348 ] + firstChild: UnaryOperation #348 + lastChild: UnaryOperation #348 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UnaryOperation #331 - id: 331 + UnaryOperation #348 + id: 348 src: "0:0:0" type: "UnaryOperation" typeString: "uint256" prefix: false operator: "--" - vSubExpression: Identifier #330 + vSubExpression: Identifier #347 context: ASTContext #1000 - parent: ExpressionStatement #332 - children: Array(1) [ Identifier #330 ] - firstChild: Identifier #330 - lastChild: Identifier #330 + parent: ExpressionStatement #349 + children: Array(1) [ Identifier #347 ] + firstChild: Identifier #347 + lastChild: Identifier #347 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #330 - id: 330 + Identifier #347 + id: 347 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "x" - referencedDeclaration: 327 + referencedDeclaration: 344 context: ASTContext #1000 - parent: UnaryOperation #331 - vReferencedDeclaration: VariableDeclaration #327 + parent: UnaryOperation #348 + vReferencedDeclaration: VariableDeclaration #344 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #335 - id: 335 + Return #352 + id: 352 src: "0:0:0" type: "Return" documentation: undefined functionReturnParameters: 11 - vExpression: Identifier #334 + vExpression: Identifier #351 context: ASTContext #1000 - parent: Block #336 - children: Array(1) [ Identifier #334 ] + parent: Block #353 + children: Array(1) [ Identifier #351 ] vFunctionReturnParameters: ParameterList #11 - firstChild: Identifier #334 - lastChild: Identifier #334 - previousSibling: UncheckedBlock #333 + firstChild: Identifier #351 + lastChild: Identifier #351 + previousSibling: UncheckedBlock #350 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #334 - id: 334 + Identifier #351 + id: 351 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "x" - referencedDeclaration: 327 + referencedDeclaration: 344 context: ASTContext #1000 - parent: Return #335 - vReferencedDeclaration: VariableDeclaration #327 + parent: Return #352 + vReferencedDeclaration: VariableDeclaration #344 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #374 - id: 374 + ContractDefinition #391 + id: 391 src: "0:0:0" type: "ContractDefinition" name: "EmitsIdentifierPath" - scope: 607 + scope: 641 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(2) [ 374, 312 ] + linearizedBaseContracts: Array(2) [ 391, 329 ] usedErrors: Array(0) docString: undefined nameLocation: "302:19:0" context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 documentation: undefined - vScope: SourceUnit #607 - vLinearizedBaseContracts: Array(2) [ ContractDefinition #374, ContractDefinition #312 ] + vScope: SourceUnit #641 + vLinearizedBaseContracts: Array(2) [ ContractDefinition #391, ContractDefinition #329 ] vUsedErrors: Array(0) - vInheritanceSpecifiers: Array(1) [ InheritanceSpecifier #340 ] + vInheritanceSpecifiers: Array(1) [ InheritanceSpecifier #357 ] vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) vErrors: Array(0) - vFunctions: Array(3) [ FunctionDefinition #350, FunctionDefinition #363, FunctionDefinition #373 ] - vUsingForDirectives: Array(1) [ UsingForDirective #344 ] + vFunctions: Array(3) [ FunctionDefinition #367, FunctionDefinition #380, FunctionDefinition #390 ] + vUsingForDirectives: Array(1) [ UsingForDirective #361 ] vStructs: Array(0) vEnums: Array(0) - vConstructor: FunctionDefinition #350 + vConstructor: FunctionDefinition #367 interfaceId: undefined - children: Array(5) [ InheritanceSpecifier #340, UsingForDirective #344, FunctionDefinition #350, FunctionDefinition #363, FunctionDefinition #373 ] - firstChild: InheritanceSpecifier #340 - lastChild: FunctionDefinition #373 - previousSibling: ContractDefinition #338 - nextSibling: ContractDefinition #395 - root: SourceUnit #607 + children: Array(5) [ InheritanceSpecifier #357, UsingForDirective #361, FunctionDefinition #367, FunctionDefinition #380, FunctionDefinition #390 ] + firstChild: InheritanceSpecifier #357 + lastChild: FunctionDefinition #390 + previousSibling: ContractDefinition #355 + nextSibling: ContractDefinition #412 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - InheritanceSpecifier #340 - id: 340 + InheritanceSpecifier #357 + id: 357 src: "0:0:0" type: "InheritanceSpecifier" - vBaseType: IdentifierPath #339 + vBaseType: IdentifierPath #356 vArguments: Array(0) context: ASTContext #1000 - parent: ContractDefinition #374 - children: Array(1) [ IdentifierPath #339 ] - firstChild: IdentifierPath #339 - lastChild: IdentifierPath #339 + parent: ContractDefinition #391 + children: Array(1) [ IdentifierPath #356 ] + firstChild: IdentifierPath #356 + lastChild: IdentifierPath #356 previousSibling: undefined - nextSibling: UsingForDirective #344 - root: SourceUnit #607 + nextSibling: UsingForDirective #361 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #339 - id: 339 + IdentifierPath #356 + id: 356 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract" - referencedDeclaration: 312 + referencedDeclaration: 329 context: ASTContext #1000 - parent: InheritanceSpecifier #340 - vReferencedDeclaration: ContractDefinition #312 + parent: InheritanceSpecifier #357 + vReferencedDeclaration: ContractDefinition #329 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UsingForDirective #344 - id: 344 + UsingForDirective #361 + id: 361 src: "0:0:0" type: "UsingForDirective" - vLibraryName: IdentifierPath #341 - vTypeName: UserDefinedTypeName #343 + vLibraryName: IdentifierPath #358 + vTypeName: UserDefinedTypeName #360 context: ASTContext #1000 - parent: ContractDefinition #374 - children: Array(2) [ IdentifierPath #341, UserDefinedTypeName #343 ] - firstChild: IdentifierPath #341 - lastChild: UserDefinedTypeName #343 - previousSibling: InheritanceSpecifier #340 - nextSibling: FunctionDefinition #350 - root: SourceUnit #607 + parent: ContractDefinition #391 + children: Array(2) [ IdentifierPath #358, UserDefinedTypeName #360 ] + firstChild: IdentifierPath #358 + lastChild: UserDefinedTypeName #360 + previousSibling: InheritanceSpecifier #357 + nextSibling: FunctionDefinition #367 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #341 - id: 341 + IdentifierPath #358 + id: 358 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeLib" - referencedDeclaration: 313 + referencedDeclaration: 330 context: ASTContext #1000 - parent: UsingForDirective #344 - vReferencedDeclaration: ContractDefinition #313 + parent: UsingForDirective #361 + vReferencedDeclaration: ContractDefinition #330 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: UserDefinedTypeName #343 - root: SourceUnit #607 + nextSibling: UserDefinedTypeName #360 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #343 - id: 343 + UserDefinedTypeName #360 + id: 360 src: "0:0:0" type: "UserDefinedTypeName" typeString: "struct SomeContract.SomeStruct" name: undefined - referencedDeclaration: 303 - path: IdentifierPath #342 + referencedDeclaration: 320 + path: IdentifierPath #359 context: ASTContext #1000 - parent: UsingForDirective #344 - children: Array(1) [ IdentifierPath #342 ] - vReferencedDeclaration: StructDefinition #303 - firstChild: IdentifierPath #342 - lastChild: IdentifierPath #342 - previousSibling: IdentifierPath #341 + parent: UsingForDirective #361 + children: Array(1) [ IdentifierPath #359 ] + vReferencedDeclaration: StructDefinition #320 + firstChild: IdentifierPath #359 + lastChild: IdentifierPath #359 + previousSibling: IdentifierPath #358 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #342 - id: 342 + IdentifierPath #359 + id: 359 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract.SomeStruct" - referencedDeclaration: 303 + referencedDeclaration: 320 context: ASTContext #1000 - parent: UserDefinedTypeName #343 - vReferencedDeclaration: StructDefinition #303 + parent: UserDefinedTypeName #360 + vReferencedDeclaration: StructDefinition #320 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #350 - id: 350 + FunctionDefinition #367 + id: 367 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 374 + scope: 391 kind: "constructor" name: "" visibility: "public" @@ -659,112 +659,112 @@ SourceUnit #607 isConstructor: true documentation: undefined nameLocation: "-1:-1:-1" - vParameters: ParameterList #345 - vReturnParameters: ParameterList #346 - vModifiers: Array(1) [ ModifierInvocation #348 ] + vParameters: ParameterList #362 + vReturnParameters: ParameterList #363 + vModifiers: Array(1) [ ModifierInvocation #365 ] vOverrideSpecifier: undefined - vBody: Block #349 + vBody: Block #366 context: ASTContext #1000 - parent: ContractDefinition #374 - children: Array(4) [ ParameterList #345, ModifierInvocation #348, ParameterList #346, Block #349 ] - vScope: ContractDefinition #374 + parent: ContractDefinition #391 + children: Array(4) [ ParameterList #362, ModifierInvocation #365, ParameterList #363, Block #366 ] + vScope: ContractDefinition #391 canonicalSignature: "" canonicalSignatureHash: "" - firstChild: ParameterList #345 - lastChild: Block #349 - previousSibling: UsingForDirective #344 - nextSibling: FunctionDefinition #363 - root: SourceUnit #607 + firstChild: ParameterList #362 + lastChild: Block #366 + previousSibling: UsingForDirective #361 + nextSibling: FunctionDefinition #380 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #345 - id: 345 + ParameterList #362 + id: 362 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #350 + parent: FunctionDefinition #367 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ModifierInvocation #348 - root: SourceUnit #607 + nextSibling: ModifierInvocation #365 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ModifierInvocation #348 - id: 348 + ModifierInvocation #365 + id: 365 src: "0:0:0" type: "ModifierInvocation" kind: "baseConstructorSpecifier" - vModifierName: IdentifierPath #347 + vModifierName: IdentifierPath #364 vArguments: Array(0) context: ASTContext #1000 - parent: FunctionDefinition #350 - children: Array(1) [ IdentifierPath #347 ] - vModifier: ContractDefinition #312 - firstChild: IdentifierPath #347 - lastChild: IdentifierPath #347 - previousSibling: ParameterList #345 - nextSibling: ParameterList #346 - root: SourceUnit #607 + parent: FunctionDefinition #367 + children: Array(1) [ IdentifierPath #364 ] + vModifier: ContractDefinition #329 + firstChild: IdentifierPath #364 + lastChild: IdentifierPath #364 + previousSibling: ParameterList #362 + nextSibling: ParameterList #363 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #347 - id: 347 + IdentifierPath #364 + id: 364 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract" - referencedDeclaration: 312 + referencedDeclaration: 329 context: ASTContext #1000 - parent: ModifierInvocation #348 - vReferencedDeclaration: ContractDefinition #312 + parent: ModifierInvocation #365 + vReferencedDeclaration: ContractDefinition #329 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #346 - id: 346 + ParameterList #363 + id: 363 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #350 + parent: FunctionDefinition #367 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ModifierInvocation #348 - nextSibling: Block #349 - root: SourceUnit #607 + previousSibling: ModifierInvocation #365 + nextSibling: Block #366 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #349 - id: 349 + Block #366 + id: 366 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #350 + parent: FunctionDefinition #367 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #346 + previousSibling: ParameterList #363 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #363 - id: 363 + FunctionDefinition #380 + id: 380 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 374 + scope: 391 kind: "function" name: "test" visibility: "public" @@ -772,96 +772,96 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "450:4:0" - vParameters: ParameterList #351 - vReturnParameters: ParameterList #352 + vParameters: ParameterList #368 + vReturnParameters: ParameterList #369 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #362 + vBody: Block #379 context: ASTContext #1000 - parent: ContractDefinition #374 - children: Array(3) [ ParameterList #351, ParameterList #352, Block #362 ] - vScope: ContractDefinition #374 + parent: ContractDefinition #391 + children: Array(3) [ ParameterList #368, ParameterList #369, Block #379 ] + vScope: ContractDefinition #391 canonicalSignature: "test()" canonicalSignatureHash: "f8a8fd6d" - firstChild: ParameterList #351 - lastChild: Block #362 - previousSibling: FunctionDefinition #350 - nextSibling: FunctionDefinition #373 - root: SourceUnit #607 + firstChild: ParameterList #368 + lastChild: Block #379 + previousSibling: FunctionDefinition #367 + nextSibling: FunctionDefinition #390 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #351 - id: 351 + ParameterList #368 + id: 368 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #363 + parent: FunctionDefinition #380 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #352 - root: SourceUnit #607 + nextSibling: ParameterList #369 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #352 - id: 352 + ParameterList #369 + id: 369 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #363 + parent: FunctionDefinition #380 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #351 - nextSibling: Block #362 - root: SourceUnit #607 + previousSibling: ParameterList #368 + nextSibling: Block #379 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #362 - id: 362 + Block #379 + id: 379 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #363 - vStatements: Array(1) [ VariableDeclarationStatement #361 ] - children: Array(1) [ VariableDeclarationStatement #361 ] - firstChild: VariableDeclarationStatement #361 - lastChild: VariableDeclarationStatement #361 - previousSibling: ParameterList #352 + parent: FunctionDefinition #380 + vStatements: Array(1) [ VariableDeclarationStatement #378 ] + children: Array(1) [ VariableDeclarationStatement #378 ] + firstChild: VariableDeclarationStatement #378 + lastChild: VariableDeclarationStatement #378 + previousSibling: ParameterList #369 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #361 - id: 361 + VariableDeclarationStatement #378 + id: 378 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 355 ] - vDeclarations: Array(1) [ VariableDeclaration #355 ] - vInitialValue: FunctionCall #360 + assignments: Array(1) [ 372 ] + vDeclarations: Array(1) [ VariableDeclaration #372 ] + vInitialValue: FunctionCall #377 context: ASTContext #1000 - parent: Block #362 - children: Array(2) [ VariableDeclaration #355, FunctionCall #360 ] - firstChild: VariableDeclaration #355 - lastChild: FunctionCall #360 + parent: Block #379 + children: Array(2) [ VariableDeclaration #372, FunctionCall #377 ] + firstChild: VariableDeclaration #372 + lastChild: FunctionCall #377 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #355 - id: 355 + VariableDeclaration #372 + id: 372 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "s" - scope: 362 + scope: 379 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -869,145 +869,145 @@ SourceUnit #607 typeString: "struct SomeContract.SomeStruct" documentation: undefined nameLocation: "508:1:0" - vType: UserDefinedTypeName #354 + vType: UserDefinedTypeName #371 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #361 - children: Array(1) [ UserDefinedTypeName #354 ] - vScope: Block #362 + parent: VariableDeclarationStatement #378 + children: Array(1) [ UserDefinedTypeName #371 ] + vScope: Block #379 canonicalSignatureType: "(uint256)" getterCanonicalSignature: "s()" getterCanonicalSignatureHash: "86b714e2" - firstChild: UserDefinedTypeName #354 - lastChild: UserDefinedTypeName #354 + firstChild: UserDefinedTypeName #371 + lastChild: UserDefinedTypeName #371 previousSibling: undefined - nextSibling: FunctionCall #360 - root: SourceUnit #607 + nextSibling: FunctionCall #377 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #354 - id: 354 + UserDefinedTypeName #371 + id: 371 src: "0:0:0" type: "UserDefinedTypeName" typeString: "struct SomeContract.SomeStruct" name: undefined - referencedDeclaration: 303 - path: IdentifierPath #353 + referencedDeclaration: 320 + path: IdentifierPath #370 context: ASTContext #1000 - parent: VariableDeclaration #355 - children: Array(1) [ IdentifierPath #353 ] - vReferencedDeclaration: StructDefinition #303 - firstChild: IdentifierPath #353 - lastChild: IdentifierPath #353 + parent: VariableDeclaration #372 + children: Array(1) [ IdentifierPath #370 ] + vReferencedDeclaration: StructDefinition #320 + firstChild: IdentifierPath #370 + lastChild: IdentifierPath #370 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #353 - id: 353 + IdentifierPath #370 + id: 370 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract.SomeStruct" - referencedDeclaration: 303 + referencedDeclaration: 320 context: ASTContext #1000 - parent: UserDefinedTypeName #354 - vReferencedDeclaration: StructDefinition #303 + parent: UserDefinedTypeName #371 + vReferencedDeclaration: StructDefinition #320 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #360 - id: 360 + FunctionCall #377 + id: 377 src: "0:0:0" type: "FunctionCall" typeString: "struct SomeContract.SomeStruct memory" kind: "structConstructorCall" fieldNames: undefined - vExpression: MemberAccess #358 - vArguments: Array(1) [ Literal #359 ] + vExpression: MemberAccess #375 + vArguments: Array(1) [ Literal #376 ] context: ASTContext #1000 - parent: VariableDeclarationStatement #361 - children: Array(2) [ MemberAccess #358, Literal #359 ] + parent: VariableDeclarationStatement #378 + children: Array(2) [ MemberAccess #375, Literal #376 ] vIdentifier: undefined vMemberName: "SomeStruct" vFunctionCallType: "userDefined" - vReferencedDeclaration: StructDefinition #303 + vReferencedDeclaration: StructDefinition #320 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "SomeStruct" - vCallee: MemberAccess #358 - firstChild: MemberAccess #358 - lastChild: Literal #359 - previousSibling: VariableDeclaration #355 + vCallee: MemberAccess #375 + firstChild: MemberAccess #375 + lastChild: Literal #376 + previousSibling: VariableDeclaration #372 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #358 - id: 358 + MemberAccess #375 + id: 375 src: "0:0:0" type: "MemberAccess" typeString: "type(struct SomeContract.SomeStruct storage pointer)" - vExpression: MemberAccess #357 + vExpression: MemberAccess #374 memberName: "SomeStruct" - referencedDeclaration: 303 + referencedDeclaration: 320 context: ASTContext #1000 - parent: FunctionCall #360 - children: Array(1) [ MemberAccess #357 ] - vReferencedDeclaration: StructDefinition #303 - firstChild: MemberAccess #357 - lastChild: MemberAccess #357 + parent: FunctionCall #377 + children: Array(1) [ MemberAccess #374 ] + vReferencedDeclaration: StructDefinition #320 + firstChild: MemberAccess #374 + lastChild: MemberAccess #374 previousSibling: undefined - nextSibling: Literal #359 - root: SourceUnit #607 + nextSibling: Literal #376 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #357 - id: 357 + MemberAccess #374 + id: 374 src: "0:0:0" type: "MemberAccess" typeString: "type(contract SomeContract)" - vExpression: Identifier #356 + vExpression: Identifier #373 memberName: "SomeContract" - referencedDeclaration: 312 + referencedDeclaration: 329 context: ASTContext #1000 - parent: MemberAccess #358 - children: Array(1) [ Identifier #356 ] - vReferencedDeclaration: ContractDefinition #312 - firstChild: Identifier #356 - lastChild: Identifier #356 + parent: MemberAccess #375 + children: Array(1) [ Identifier #373 ] + vReferencedDeclaration: ContractDefinition #329 + firstChild: Identifier #373 + lastChild: Identifier #373 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #356 - id: 356 + Identifier #373 + id: 373 src: "0:0:0" type: "Identifier" typeString: "module \"./test/samples/solidity/latest_imports_08.sol\"" name: "LI" - referencedDeclaration: 317 + referencedDeclaration: 334 context: ASTContext #1000 - parent: MemberAccess #357 - vReferencedDeclaration: ImportDirective #317 + parent: MemberAccess #374 + vReferencedDeclaration: ImportDirective #334 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #359 - id: 359 + Literal #376 + id: 376 src: "0:0:0" type: "Literal" typeString: "int_const 10" @@ -1016,22 +1016,22 @@ SourceUnit #607 value: "10" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #360 + parent: FunctionCall #377 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: MemberAccess #358 + previousSibling: MemberAccess #375 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #373 - id: 373 + FunctionDefinition #390 + id: 390 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 374 + scope: 391 kind: "function" name: "some" visibility: "public" @@ -1039,94 +1039,94 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "564:4:0" - vParameters: ParameterList #364 - vReturnParameters: ParameterList #367 + vParameters: ParameterList #381 + vReturnParameters: ParameterList #384 vModifiers: Array(0) - vOverrideSpecifier: OverrideSpecifier #369 - vBody: Block #372 + vOverrideSpecifier: OverrideSpecifier #386 + vBody: Block #389 context: ASTContext #1000 - parent: ContractDefinition #374 - children: Array(4) [ ParameterList #364, OverrideSpecifier #369, ParameterList #367, Block #372 ] - vScope: ContractDefinition #374 + parent: ContractDefinition #391 + children: Array(4) [ ParameterList #381, OverrideSpecifier #386, ParameterList #384, Block #389 ] + vScope: ContractDefinition #391 canonicalSignature: "some()" canonicalSignatureHash: "c03ee3d3" - firstChild: ParameterList #364 - lastChild: Block #372 - previousSibling: FunctionDefinition #363 + firstChild: ParameterList #381 + lastChild: Block #389 + previousSibling: FunctionDefinition #380 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #364 - id: 364 + ParameterList #381 + id: 381 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #373 + parent: FunctionDefinition #390 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: OverrideSpecifier #369 - root: SourceUnit #607 + nextSibling: OverrideSpecifier #386 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - OverrideSpecifier #369 - id: 369 + OverrideSpecifier #386 + id: 386 src: "0:0:0" type: "OverrideSpecifier" context: ASTContext #1000 - parent: FunctionDefinition #373 - vOverrides: Array(1) [ IdentifierPath #368 ] - children: Array(1) [ IdentifierPath #368 ] - firstChild: IdentifierPath #368 - lastChild: IdentifierPath #368 - previousSibling: ParameterList #364 - nextSibling: ParameterList #367 - root: SourceUnit #607 + parent: FunctionDefinition #390 + vOverrides: Array(1) [ IdentifierPath #385 ] + children: Array(1) [ IdentifierPath #385 ] + firstChild: IdentifierPath #385 + lastChild: IdentifierPath #385 + previousSibling: ParameterList #381 + nextSibling: ParameterList #384 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #368 - id: 368 + IdentifierPath #385 + id: 385 src: "0:0:0" type: "IdentifierPath" name: "LI.SomeContract" - referencedDeclaration: 312 + referencedDeclaration: 329 context: ASTContext #1000 - parent: OverrideSpecifier #369 - vReferencedDeclaration: ContractDefinition #312 + parent: OverrideSpecifier #386 + vReferencedDeclaration: ContractDefinition #329 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #367 - id: 367 + ParameterList #384 + id: 384 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #373 - vParameters: Array(1) [ VariableDeclaration #366 ] - children: Array(1) [ VariableDeclaration #366 ] - firstChild: VariableDeclaration #366 - lastChild: VariableDeclaration #366 - previousSibling: OverrideSpecifier #369 - nextSibling: Block #372 - root: SourceUnit #607 + parent: FunctionDefinition #390 + vParameters: Array(1) [ VariableDeclaration #383 ] + children: Array(1) [ VariableDeclaration #383 ] + firstChild: VariableDeclaration #383 + lastChild: VariableDeclaration #383 + previousSibling: OverrideSpecifier #386 + nextSibling: Block #389 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #366 - id: 366 + VariableDeclaration #383 + id: 383 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "" - scope: 373 + scope: 390 stateVariable: false storageLocation: "default" visibility: "internal" @@ -1134,76 +1134,76 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "-1:-1:-1" - vType: ElementaryTypeName #365 + vType: ElementaryTypeName #382 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #367 - children: Array(1) [ ElementaryTypeName #365 ] - vScope: FunctionDefinition #373 + parent: ParameterList #384 + children: Array(1) [ ElementaryTypeName #382 ] + vScope: FunctionDefinition #390 canonicalSignatureType: "uint256" getterCanonicalSignature: "()" getterCanonicalSignatureHash: "861731d5" - firstChild: ElementaryTypeName #365 - lastChild: ElementaryTypeName #365 + firstChild: ElementaryTypeName #382 + lastChild: ElementaryTypeName #382 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #365 - id: 365 + ElementaryTypeName #382 + id: 382 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #366 + parent: VariableDeclaration #383 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #372 - id: 372 + Block #389 + id: 389 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #373 - vStatements: Array(1) [ Return #371 ] - children: Array(1) [ Return #371 ] - firstChild: Return #371 - lastChild: Return #371 - previousSibling: ParameterList #367 + parent: FunctionDefinition #390 + vStatements: Array(1) [ Return #388 ] + children: Array(1) [ Return #388 ] + firstChild: Return #388 + lastChild: Return #388 + previousSibling: ParameterList #384 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #371 - id: 371 + Return #388 + id: 388 src: "0:0:0" type: "Return" documentation: undefined functionReturnParameters: 58 - vExpression: Literal #370 + vExpression: Literal #387 context: ASTContext #1000 - parent: Block #372 - children: Array(1) [ Literal #370 ] + parent: Block #389 + children: Array(1) [ Literal #387 ] vFunctionReturnParameters: ParameterList #58 - firstChild: Literal #370 - lastChild: Literal #370 + firstChild: Literal #387 + lastChild: Literal #387 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #370 - id: 370 + Literal #387 + id: 387 src: "0:0:0" type: "Literal" typeString: "int_const 2" @@ -1212,60 +1212,60 @@ SourceUnit #607 value: "2" subdenomination: undefined context: ASTContext #1000 - parent: Return #371 + parent: Return #388 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #395 - id: 395 + ContractDefinition #412 + id: 412 src: "0:0:0" type: "ContractDefinition" name: "UsesNewAddressMembers" - scope: 607 + scope: 641 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 395 ] + linearizedBaseContracts: Array(1) [ 412 ] usedErrors: Array(0) docString: undefined nameLocation: "656:21:0" context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 documentation: undefined - vScope: SourceUnit #607 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #395 ] + vScope: SourceUnit #641 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #412 ] vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) vErrors: Array(0) - vFunctions: Array(1) [ FunctionDefinition #394 ] + vFunctions: Array(1) [ FunctionDefinition #411 ] vUsingForDirectives: Array(0) vStructs: Array(0) vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(1) [ FunctionDefinition #394 ] - firstChild: FunctionDefinition #394 - lastChild: FunctionDefinition #394 - previousSibling: ContractDefinition #374 - nextSibling: ContractDefinition #452 - root: SourceUnit #607 + children: Array(1) [ FunctionDefinition #411 ] + firstChild: FunctionDefinition #411 + lastChild: FunctionDefinition #411 + previousSibling: ContractDefinition #391 + nextSibling: ContractDefinition #469 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #394 - id: 394 + FunctionDefinition #411 + id: 411 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 395 + scope: 412 kind: "function" name: "test" visibility: "public" @@ -1273,96 +1273,96 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "693:4:0" - vParameters: ParameterList #375 - vReturnParameters: ParameterList #376 + vParameters: ParameterList #392 + vReturnParameters: ParameterList #393 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #393 + vBody: Block #410 context: ASTContext #1000 - parent: ContractDefinition #395 - children: Array(3) [ ParameterList #375, ParameterList #376, Block #393 ] - vScope: ContractDefinition #395 + parent: ContractDefinition #412 + children: Array(3) [ ParameterList #392, ParameterList #393, Block #410 ] + vScope: ContractDefinition #412 canonicalSignature: "test()" canonicalSignatureHash: "f8a8fd6d" - firstChild: ParameterList #375 - lastChild: Block #393 + firstChild: ParameterList #392 + lastChild: Block #410 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #375 - id: 375 + ParameterList #392 + id: 392 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #394 + parent: FunctionDefinition #411 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #376 - root: SourceUnit #607 + nextSibling: ParameterList #393 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #376 - id: 376 + ParameterList #393 + id: 393 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #394 + parent: FunctionDefinition #411 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #375 - nextSibling: Block #393 - root: SourceUnit #607 + previousSibling: ParameterList #392 + nextSibling: Block #410 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #393 - id: 393 + Block #410 + id: 410 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #394 - vStatements: Array(2) [ VariableDeclarationStatement #384, VariableDeclarationStatement #392 ] - children: Array(2) [ VariableDeclarationStatement #384, VariableDeclarationStatement #392 ] - firstChild: VariableDeclarationStatement #384 - lastChild: VariableDeclarationStatement #392 - previousSibling: ParameterList #376 + parent: FunctionDefinition #411 + vStatements: Array(2) [ VariableDeclarationStatement #401, VariableDeclarationStatement #409 ] + children: Array(2) [ VariableDeclarationStatement #401, VariableDeclarationStatement #409 ] + firstChild: VariableDeclarationStatement #401 + lastChild: VariableDeclarationStatement #409 + previousSibling: ParameterList #393 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #384 - id: 384 + VariableDeclarationStatement #401 + id: 401 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 378 ] - vDeclarations: Array(1) [ VariableDeclaration #378 ] - vInitialValue: MemberAccess #383 + assignments: Array(1) [ 395 ] + vDeclarations: Array(1) [ VariableDeclaration #395 ] + vInitialValue: MemberAccess #400 context: ASTContext #1000 - parent: Block #393 - children: Array(2) [ VariableDeclaration #378, MemberAccess #383 ] - firstChild: VariableDeclaration #378 - lastChild: MemberAccess #383 + parent: Block #410 + children: Array(2) [ VariableDeclaration #395, MemberAccess #400 ] + firstChild: VariableDeclaration #395 + lastChild: MemberAccess #400 previousSibling: undefined - nextSibling: VariableDeclarationStatement #392 - root: SourceUnit #607 + nextSibling: VariableDeclarationStatement #409 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #378 - id: 378 + VariableDeclaration #395 + id: 395 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "code" - scope: 393 + scope: 410 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -1370,71 +1370,71 @@ SourceUnit #607 typeString: "bytes" documentation: undefined nameLocation: "730:4:0" - vType: ElementaryTypeName #377 + vType: ElementaryTypeName #394 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #384 - children: Array(1) [ ElementaryTypeName #377 ] - vScope: Block #393 + parent: VariableDeclarationStatement #401 + children: Array(1) [ ElementaryTypeName #394 ] + vScope: Block #410 canonicalSignatureType: "bytes" getterCanonicalSignature: "code()" getterCanonicalSignatureHash: "24c12bf6" - firstChild: ElementaryTypeName #377 - lastChild: ElementaryTypeName #377 + firstChild: ElementaryTypeName #394 + lastChild: ElementaryTypeName #394 previousSibling: undefined - nextSibling: MemberAccess #383 - root: SourceUnit #607 + nextSibling: MemberAccess #400 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #377 - id: 377 + ElementaryTypeName #394 + id: 394 src: "0:0:0" type: "ElementaryTypeName" typeString: "bytes" name: "bytes" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #378 + parent: VariableDeclaration #395 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #383 - id: 383 + MemberAccess #400 + id: 400 src: "0:0:0" type: "MemberAccess" typeString: "bytes memory" - vExpression: FunctionCall #382 + vExpression: FunctionCall #399 memberName: "code" referencedDeclaration: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #384 - children: Array(1) [ FunctionCall #382 ] + parent: VariableDeclarationStatement #401 + children: Array(1) [ FunctionCall #399 ] vReferencedDeclaration: undefined - firstChild: FunctionCall #382 - lastChild: FunctionCall #382 - previousSibling: VariableDeclaration #378 + firstChild: FunctionCall #399 + lastChild: FunctionCall #399 + previousSibling: VariableDeclaration #395 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #382 - id: 382 + FunctionCall #399 + id: 399 src: "0:0:0" type: "FunctionCall" typeString: "address" kind: "typeConversion" fieldNames: undefined - vExpression: ElementaryTypeNameExpression #380 - vArguments: Array(1) [ Literal #381 ] + vExpression: ElementaryTypeNameExpression #397 + vArguments: Array(1) [ Literal #398 ] context: ASTContext #1000 - parent: MemberAccess #383 - children: Array(2) [ ElementaryTypeNameExpression #380, Literal #381 ] + parent: MemberAccess #400 + children: Array(2) [ ElementaryTypeNameExpression #397, Literal #398 ] vIdentifier: "address" vMemberName: undefined vFunctionCallType: "builtin" @@ -1442,49 +1442,49 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "address" - vCallee: ElementaryTypeNameExpression #380 - firstChild: ElementaryTypeNameExpression #380 - lastChild: Literal #381 + vCallee: ElementaryTypeNameExpression #397 + firstChild: ElementaryTypeNameExpression #397 + lastChild: Literal #398 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeNameExpression #380 - id: 380 + ElementaryTypeNameExpression #397 + id: 397 src: "0:0:0" type: "ElementaryTypeNameExpression" typeString: "type(address)" - typeName: ElementaryTypeName #379 + typeName: ElementaryTypeName #396 context: ASTContext #1000 - parent: FunctionCall #382 - children: Array(1) [ ElementaryTypeName #379 ] - firstChild: ElementaryTypeName #379 - lastChild: ElementaryTypeName #379 + parent: FunctionCall #399 + children: Array(1) [ ElementaryTypeName #396 ] + firstChild: ElementaryTypeName #396 + lastChild: ElementaryTypeName #396 previousSibling: undefined - nextSibling: Literal #381 - root: SourceUnit #607 + nextSibling: Literal #398 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #379 - id: 379 + ElementaryTypeName #396 + id: 396 src: "0:0:0" type: "ElementaryTypeName" typeString: undefined name: "address" stateMutability: "nonpayable" context: ASTContext #1000 - parent: ElementaryTypeNameExpression #380 + parent: ElementaryTypeNameExpression #397 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #381 - id: 381 + Literal #398 + id: 398 src: "0:0:0" type: "Literal" typeString: "int_const 0" @@ -1493,41 +1493,41 @@ SourceUnit #607 value: "0" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #382 + parent: FunctionCall #399 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ElementaryTypeNameExpression #380 + previousSibling: ElementaryTypeNameExpression #397 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #392 - id: 392 + VariableDeclarationStatement #409 + id: 409 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 386 ] - vDeclarations: Array(1) [ VariableDeclaration #386 ] - vInitialValue: MemberAccess #391 + assignments: Array(1) [ 403 ] + vDeclarations: Array(1) [ VariableDeclaration #403 ] + vInitialValue: MemberAccess #408 context: ASTContext #1000 - parent: Block #393 - children: Array(2) [ VariableDeclaration #386, MemberAccess #391 ] - firstChild: VariableDeclaration #386 - lastChild: MemberAccess #391 - previousSibling: VariableDeclarationStatement #384 + parent: Block #410 + children: Array(2) [ VariableDeclaration #403, MemberAccess #408 ] + firstChild: VariableDeclaration #403 + lastChild: MemberAccess #408 + previousSibling: VariableDeclarationStatement #401 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #386 - id: 386 + VariableDeclaration #403 + id: 403 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "codeHash" - scope: 393 + scope: 410 stateVariable: false storageLocation: "default" visibility: "internal" @@ -1535,71 +1535,71 @@ SourceUnit #607 typeString: "bytes32" documentation: undefined nameLocation: "770:8:0" - vType: ElementaryTypeName #385 + vType: ElementaryTypeName #402 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #392 - children: Array(1) [ ElementaryTypeName #385 ] - vScope: Block #393 + parent: VariableDeclarationStatement #409 + children: Array(1) [ ElementaryTypeName #402 ] + vScope: Block #410 canonicalSignatureType: "bytes32" getterCanonicalSignature: "codeHash()" getterCanonicalSignatureHash: "18edaaf2" - firstChild: ElementaryTypeName #385 - lastChild: ElementaryTypeName #385 + firstChild: ElementaryTypeName #402 + lastChild: ElementaryTypeName #402 previousSibling: undefined - nextSibling: MemberAccess #391 - root: SourceUnit #607 + nextSibling: MemberAccess #408 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #385 - id: 385 + ElementaryTypeName #402 + id: 402 src: "0:0:0" type: "ElementaryTypeName" typeString: "bytes32" name: "bytes32" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #386 + parent: VariableDeclaration #403 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #391 - id: 391 + MemberAccess #408 + id: 408 src: "0:0:0" type: "MemberAccess" typeString: "bytes32" - vExpression: FunctionCall #390 + vExpression: FunctionCall #407 memberName: "codehash" referencedDeclaration: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #392 - children: Array(1) [ FunctionCall #390 ] + parent: VariableDeclarationStatement #409 + children: Array(1) [ FunctionCall #407 ] vReferencedDeclaration: undefined - firstChild: FunctionCall #390 - lastChild: FunctionCall #390 - previousSibling: VariableDeclaration #386 + firstChild: FunctionCall #407 + lastChild: FunctionCall #407 + previousSibling: VariableDeclaration #403 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #390 - id: 390 + FunctionCall #407 + id: 407 src: "0:0:0" type: "FunctionCall" typeString: "address" kind: "typeConversion" fieldNames: undefined - vExpression: ElementaryTypeNameExpression #388 - vArguments: Array(1) [ Literal #389 ] + vExpression: ElementaryTypeNameExpression #405 + vArguments: Array(1) [ Literal #406 ] context: ASTContext #1000 - parent: MemberAccess #391 - children: Array(2) [ ElementaryTypeNameExpression #388, Literal #389 ] + parent: MemberAccess #408 + children: Array(2) [ ElementaryTypeNameExpression #405, Literal #406 ] vIdentifier: "address" vMemberName: undefined vFunctionCallType: "builtin" @@ -1607,49 +1607,49 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "address" - vCallee: ElementaryTypeNameExpression #388 - firstChild: ElementaryTypeNameExpression #388 - lastChild: Literal #389 + vCallee: ElementaryTypeNameExpression #405 + firstChild: ElementaryTypeNameExpression #405 + lastChild: Literal #406 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeNameExpression #388 - id: 388 + ElementaryTypeNameExpression #405 + id: 405 src: "0:0:0" type: "ElementaryTypeNameExpression" typeString: "type(address)" - typeName: ElementaryTypeName #387 + typeName: ElementaryTypeName #404 context: ASTContext #1000 - parent: FunctionCall #390 - children: Array(1) [ ElementaryTypeName #387 ] - firstChild: ElementaryTypeName #387 - lastChild: ElementaryTypeName #387 + parent: FunctionCall #407 + children: Array(1) [ ElementaryTypeName #404 ] + firstChild: ElementaryTypeName #404 + lastChild: ElementaryTypeName #404 previousSibling: undefined - nextSibling: Literal #389 - root: SourceUnit #607 + nextSibling: Literal #406 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #387 - id: 387 + ElementaryTypeName #404 + id: 404 src: "0:0:0" type: "ElementaryTypeName" typeString: undefined name: "address" stateMutability: "nonpayable" context: ASTContext #1000 - parent: ElementaryTypeNameExpression #388 + parent: ElementaryTypeNameExpression #405 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #389 - id: 389 + Literal #406 + id: 406 src: "0:0:0" type: "Literal" typeString: "int_const 0" @@ -1658,60 +1658,60 @@ SourceUnit #607 value: "0" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #390 + parent: FunctionCall #407 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ElementaryTypeNameExpression #388 + previousSibling: ElementaryTypeNameExpression #405 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #452 - id: 452 + ContractDefinition #469 + id: 469 src: "0:0:0" type: "ContractDefinition" name: "CatchPanic" - scope: 607 + scope: 641 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 452 ] + linearizedBaseContracts: Array(1) [ 469 ] usedErrors: Array(0) docString: undefined nameLocation: "820:10:0" context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 documentation: undefined - vScope: SourceUnit #607 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #452 ] + vScope: SourceUnit #641 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #469 ] vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) vErrors: Array(0) - vFunctions: Array(1) [ FunctionDefinition #451 ] + vFunctions: Array(1) [ FunctionDefinition #468 ] vUsingForDirectives: Array(0) vStructs: Array(0) vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(1) [ FunctionDefinition #451 ] - firstChild: FunctionDefinition #451 - lastChild: FunctionDefinition #451 - previousSibling: ContractDefinition #395 - nextSibling: ContractDefinition #537 - root: SourceUnit #607 + children: Array(1) [ FunctionDefinition #468 ] + firstChild: FunctionDefinition #468 + lastChild: FunctionDefinition #468 + previousSibling: ContractDefinition #412 + nextSibling: ContractDefinition #554 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #451 - id: 451 + FunctionDefinition #468 + id: 468 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 452 + scope: 469 kind: "function" name: "test" visibility: "public" @@ -1719,96 +1719,96 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "846:4:0" - vParameters: ParameterList #396 - vReturnParameters: ParameterList #397 + vParameters: ParameterList #413 + vReturnParameters: ParameterList #414 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #450 + vBody: Block #467 context: ASTContext #1000 - parent: ContractDefinition #452 - children: Array(3) [ ParameterList #396, ParameterList #397, Block #450 ] - vScope: ContractDefinition #452 + parent: ContractDefinition #469 + children: Array(3) [ ParameterList #413, ParameterList #414, Block #467 ] + vScope: ContractDefinition #469 canonicalSignature: "test()" canonicalSignatureHash: "f8a8fd6d" - firstChild: ParameterList #396 - lastChild: Block #450 + firstChild: ParameterList #413 + lastChild: Block #467 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #396 - id: 396 + ParameterList #413 + id: 413 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #451 + parent: FunctionDefinition #468 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #397 - root: SourceUnit #607 + nextSibling: ParameterList #414 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #397 - id: 397 + ParameterList #414 + id: 414 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #451 + parent: FunctionDefinition #468 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #396 - nextSibling: Block #450 - root: SourceUnit #607 + previousSibling: ParameterList #413 + nextSibling: Block #467 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #450 - id: 450 + Block #467 + id: 467 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #451 - vStatements: Array(2) [ VariableDeclarationStatement #405, TryStatement #449 ] - children: Array(2) [ VariableDeclarationStatement #405, TryStatement #449 ] - firstChild: VariableDeclarationStatement #405 - lastChild: TryStatement #449 - previousSibling: ParameterList #397 + parent: FunctionDefinition #468 + vStatements: Array(2) [ VariableDeclarationStatement #422, TryStatement #466 ] + children: Array(2) [ VariableDeclarationStatement #422, TryStatement #466 ] + firstChild: VariableDeclarationStatement #422 + lastChild: TryStatement #466 + previousSibling: ParameterList #414 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #405 - id: 405 + VariableDeclarationStatement #422 + id: 422 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 400 ] - vDeclarations: Array(1) [ VariableDeclaration #400 ] - vInitialValue: FunctionCall #404 + assignments: Array(1) [ 417 ] + vDeclarations: Array(1) [ VariableDeclaration #417 ] + vInitialValue: FunctionCall #421 context: ASTContext #1000 - parent: Block #450 - children: Array(2) [ VariableDeclaration #400, FunctionCall #404 ] - firstChild: VariableDeclaration #400 - lastChild: FunctionCall #404 + parent: Block #467 + children: Array(2) [ VariableDeclaration #417, FunctionCall #421 ] + firstChild: VariableDeclaration #417 + lastChild: FunctionCall #421 previousSibling: undefined - nextSibling: TryStatement #449 - root: SourceUnit #607 + nextSibling: TryStatement #466 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #400 - id: 400 + VariableDeclaration #417 + id: 417 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "c" - scope: 450 + scope: 467 stateVariable: false storageLocation: "default" visibility: "internal" @@ -1816,71 +1816,71 @@ SourceUnit #607 typeString: "contract UsesNewAddressMembers" documentation: undefined nameLocation: "892:1:0" - vType: UserDefinedTypeName #399 + vType: UserDefinedTypeName #416 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #405 - children: Array(1) [ UserDefinedTypeName #399 ] - vScope: Block #450 + parent: VariableDeclarationStatement #422 + children: Array(1) [ UserDefinedTypeName #416 ] + vScope: Block #467 canonicalSignatureType: "address" getterCanonicalSignature: "c()" getterCanonicalSignatureHash: "c3da42b8" - firstChild: UserDefinedTypeName #399 - lastChild: UserDefinedTypeName #399 + firstChild: UserDefinedTypeName #416 + lastChild: UserDefinedTypeName #416 previousSibling: undefined - nextSibling: FunctionCall #404 - root: SourceUnit #607 + nextSibling: FunctionCall #421 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #399 - id: 399 + UserDefinedTypeName #416 + id: 416 src: "0:0:0" type: "UserDefinedTypeName" typeString: "contract UsesNewAddressMembers" name: undefined - referencedDeclaration: 395 - path: IdentifierPath #398 + referencedDeclaration: 412 + path: IdentifierPath #415 context: ASTContext #1000 - parent: VariableDeclaration #400 - children: Array(1) [ IdentifierPath #398 ] - vReferencedDeclaration: ContractDefinition #395 - firstChild: IdentifierPath #398 - lastChild: IdentifierPath #398 + parent: VariableDeclaration #417 + children: Array(1) [ IdentifierPath #415 ] + vReferencedDeclaration: ContractDefinition #412 + firstChild: IdentifierPath #415 + lastChild: IdentifierPath #415 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #398 - id: 398 + IdentifierPath #415 + id: 415 src: "0:0:0" type: "IdentifierPath" name: "UsesNewAddressMembers" referencedDeclaration: 84 context: ASTContext #1000 - parent: UserDefinedTypeName #399 + parent: UserDefinedTypeName #416 vReferencedDeclaration: ContractDefinition #84 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #404 - id: 404 + FunctionCall #421 + id: 421 src: "0:0:0" type: "FunctionCall" typeString: "contract UsesNewAddressMembers" kind: "functionCall" fieldNames: undefined - vExpression: NewExpression #403 + vExpression: NewExpression #420 vArguments: Array(0) context: ASTContext #1000 - parent: VariableDeclarationStatement #405 - children: Array(1) [ NewExpression #403 ] + parent: VariableDeclarationStatement #422 + children: Array(1) [ NewExpression #420 ] vIdentifier: "new" vMemberName: undefined vFunctionCallType: "builtin" @@ -1888,223 +1888,223 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "new" - vCallee: NewExpression #403 - firstChild: NewExpression #403 - lastChild: NewExpression #403 - previousSibling: VariableDeclaration #400 + vCallee: NewExpression #420 + firstChild: NewExpression #420 + lastChild: NewExpression #420 + previousSibling: VariableDeclaration #417 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - NewExpression #403 - id: 403 + NewExpression #420 + id: 420 src: "0:0:0" type: "NewExpression" typeString: "function () returns (contract UsesNewAddressMembers)" - vTypeName: UserDefinedTypeName #402 + vTypeName: UserDefinedTypeName #419 context: ASTContext #1000 - parent: FunctionCall #404 - children: Array(1) [ UserDefinedTypeName #402 ] - firstChild: UserDefinedTypeName #402 - lastChild: UserDefinedTypeName #402 + parent: FunctionCall #421 + children: Array(1) [ UserDefinedTypeName #419 ] + firstChild: UserDefinedTypeName #419 + lastChild: UserDefinedTypeName #419 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #402 - id: 402 + UserDefinedTypeName #419 + id: 419 src: "0:0:0" type: "UserDefinedTypeName" typeString: "contract UsesNewAddressMembers" name: undefined - referencedDeclaration: 395 - path: IdentifierPath #401 + referencedDeclaration: 412 + path: IdentifierPath #418 context: ASTContext #1000 - parent: NewExpression #403 - children: Array(1) [ IdentifierPath #401 ] - vReferencedDeclaration: ContractDefinition #395 - firstChild: IdentifierPath #401 - lastChild: IdentifierPath #401 + parent: NewExpression #420 + children: Array(1) [ IdentifierPath #418 ] + vReferencedDeclaration: ContractDefinition #412 + firstChild: IdentifierPath #418 + lastChild: IdentifierPath #418 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #401 - id: 401 + IdentifierPath #418 + id: 418 src: "0:0:0" type: "IdentifierPath" name: "UsesNewAddressMembers" referencedDeclaration: 84 context: ASTContext #1000 - parent: UserDefinedTypeName #402 + parent: UserDefinedTypeName #419 vReferencedDeclaration: ContractDefinition #84 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryStatement #449 - id: 449 + TryStatement #466 + id: 466 src: "0:0:0" type: "TryStatement" documentation: undefined - vExternalCall: FunctionCall #408 - vClauses: Array(4) [ TryCatchClause #410, TryCatchClause #419, TryCatchClause #442, TryCatchClause #448 ] + vExternalCall: FunctionCall #425 + vClauses: Array(4) [ TryCatchClause #427, TryCatchClause #436, TryCatchClause #459, TryCatchClause #465 ] context: ASTContext #1000 - parent: Block #450 - children: Array(5) [ FunctionCall #408, TryCatchClause #410, TryCatchClause #419, TryCatchClause #442, TryCatchClause #448 ] - firstChild: FunctionCall #408 - lastChild: TryCatchClause #448 - previousSibling: VariableDeclarationStatement #405 + parent: Block #467 + children: Array(5) [ FunctionCall #425, TryCatchClause #427, TryCatchClause #436, TryCatchClause #459, TryCatchClause #465 ] + firstChild: FunctionCall #425 + lastChild: TryCatchClause #465 + previousSibling: VariableDeclarationStatement #422 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #408 - id: 408 + FunctionCall #425 + id: 425 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: MemberAccess #407 + vExpression: MemberAccess #424 vArguments: Array(0) context: ASTContext #1000 - parent: TryStatement #449 - children: Array(1) [ MemberAccess #407 ] + parent: TryStatement #466 + children: Array(1) [ MemberAccess #424 ] vIdentifier: "c" vMemberName: "test" vFunctionCallType: "userDefined" - vReferencedDeclaration: FunctionDefinition #394 + vReferencedDeclaration: FunctionDefinition #411 referencedCanonicalSignature: "test()" referencedCanonicalSignatureHash: "f8a8fd6d" vFunctionName: "test" - vCallee: MemberAccess #407 - firstChild: MemberAccess #407 - lastChild: MemberAccess #407 + vCallee: MemberAccess #424 + firstChild: MemberAccess #424 + lastChild: MemberAccess #424 previousSibling: undefined - nextSibling: TryCatchClause #410 - root: SourceUnit #607 + nextSibling: TryCatchClause #427 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #407 - id: 407 + MemberAccess #424 + id: 424 src: "0:0:0" type: "MemberAccess" typeString: "function () external" - vExpression: Identifier #406 + vExpression: Identifier #423 memberName: "test" - referencedDeclaration: 394 + referencedDeclaration: 411 context: ASTContext #1000 - parent: FunctionCall #408 - children: Array(1) [ Identifier #406 ] - vReferencedDeclaration: FunctionDefinition #394 - firstChild: Identifier #406 - lastChild: Identifier #406 + parent: FunctionCall #425 + children: Array(1) [ Identifier #423 ] + vReferencedDeclaration: FunctionDefinition #411 + firstChild: Identifier #423 + lastChild: Identifier #423 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #406 - id: 406 + Identifier #423 + id: 423 src: "0:0:0" type: "Identifier" typeString: "contract UsesNewAddressMembers" name: "c" - referencedDeclaration: 400 + referencedDeclaration: 417 context: ASTContext #1000 - parent: MemberAccess #407 - vReferencedDeclaration: VariableDeclaration #400 + parent: MemberAccess #424 + vReferencedDeclaration: VariableDeclaration #417 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #410 - id: 410 + TryCatchClause #427 + id: 427 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "" vParameters: undefined - vBlock: Block #409 + vBlock: Block #426 context: ASTContext #1000 - parent: TryStatement #449 - children: Array(1) [ Block #409 ] - firstChild: Block #409 - lastChild: Block #409 - previousSibling: FunctionCall #408 - nextSibling: TryCatchClause #419 - root: SourceUnit #607 + parent: TryStatement #466 + children: Array(1) [ Block #426 ] + firstChild: Block #426 + lastChild: Block #426 + previousSibling: FunctionCall #425 + nextSibling: TryCatchClause #436 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #409 - id: 409 + Block #426 + id: 426 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #410 + parent: TryCatchClause #427 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #419 - id: 419 + TryCatchClause #436 + id: 436 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "Error" - vParameters: ParameterList #418 - vBlock: Block #415 + vParameters: ParameterList #435 + vBlock: Block #432 context: ASTContext #1000 - parent: TryStatement #449 - children: Array(2) [ ParameterList #418, Block #415 ] - firstChild: ParameterList #418 - lastChild: Block #415 - previousSibling: TryCatchClause #410 - nextSibling: TryCatchClause #442 - root: SourceUnit #607 + parent: TryStatement #466 + children: Array(2) [ ParameterList #435, Block #432 ] + firstChild: ParameterList #435 + lastChild: Block #432 + previousSibling: TryCatchClause #427 + nextSibling: TryCatchClause #459 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #418 - id: 418 + ParameterList #435 + id: 435 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: TryCatchClause #419 - vParameters: Array(1) [ VariableDeclaration #417 ] - children: Array(1) [ VariableDeclaration #417 ] - firstChild: VariableDeclaration #417 - lastChild: VariableDeclaration #417 + parent: TryCatchClause #436 + vParameters: Array(1) [ VariableDeclaration #434 ] + children: Array(1) [ VariableDeclaration #434 ] + firstChild: VariableDeclaration #434 + lastChild: VariableDeclaration #434 previousSibling: undefined - nextSibling: Block #415 - root: SourceUnit #607 + nextSibling: Block #432 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #417 - id: 417 + VariableDeclaration #434 + id: 434 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "reason" - scope: 419 + scope: 436 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -2112,84 +2112,84 @@ SourceUnit #607 typeString: "string" documentation: undefined nameLocation: "998:6:0" - vType: ElementaryTypeName #416 + vType: ElementaryTypeName #433 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #418 - children: Array(1) [ ElementaryTypeName #416 ] - vScope: TryCatchClause #419 + parent: ParameterList #435 + children: Array(1) [ ElementaryTypeName #433 ] + vScope: TryCatchClause #436 canonicalSignatureType: "string" getterCanonicalSignature: "reason()" getterCanonicalSignatureHash: "e134e33d" - firstChild: ElementaryTypeName #416 - lastChild: ElementaryTypeName #416 + firstChild: ElementaryTypeName #433 + lastChild: ElementaryTypeName #433 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #416 - id: 416 + ElementaryTypeName #433 + id: 433 src: "0:0:0" type: "ElementaryTypeName" typeString: "string" name: "string" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #417 + parent: VariableDeclaration #434 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #415 - id: 415 + Block #432 + id: 432 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #419 - vStatements: Array(1) [ ExpressionStatement #414 ] - children: Array(1) [ ExpressionStatement #414 ] - firstChild: ExpressionStatement #414 - lastChild: ExpressionStatement #414 - previousSibling: ParameterList #418 + parent: TryCatchClause #436 + vStatements: Array(1) [ ExpressionStatement #431 ] + children: Array(1) [ ExpressionStatement #431 ] + firstChild: ExpressionStatement #431 + lastChild: ExpressionStatement #431 + previousSibling: ParameterList #435 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #414 - id: 414 + ExpressionStatement #431 + id: 431 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: FunctionCall #413 + vExpression: FunctionCall #430 context: ASTContext #1000 - parent: Block #415 - children: Array(1) [ FunctionCall #413 ] - firstChild: FunctionCall #413 - lastChild: FunctionCall #413 + parent: Block #432 + children: Array(1) [ FunctionCall #430 ] + firstChild: FunctionCall #430 + lastChild: FunctionCall #430 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #413 - id: 413 + FunctionCall #430 + id: 430 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #411 - vArguments: Array(1) [ Identifier #412 ] + vExpression: Identifier #428 + vArguments: Array(1) [ Identifier #429 ] context: ASTContext #1000 - parent: ExpressionStatement #414 - children: Array(2) [ Identifier #411, Identifier #412 ] + parent: ExpressionStatement #431 + children: Array(2) [ Identifier #428, Identifier #429 ] vIdentifier: "revert" vMemberName: undefined vFunctionCallType: "builtin" @@ -2197,93 +2197,93 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "revert" - vCallee: Identifier #411 - firstChild: Identifier #411 - lastChild: Identifier #412 + vCallee: Identifier #428 + firstChild: Identifier #428 + lastChild: Identifier #429 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #411 - id: 411 + Identifier #428 + id: 428 src: "0:0:0" type: "Identifier" typeString: "function (string memory) pure" name: "revert" referencedDeclaration: -1 context: ASTContext #1000 - parent: FunctionCall #413 + parent: FunctionCall #430 vReferencedDeclaration: undefined vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Identifier #412 - root: SourceUnit #607 + nextSibling: Identifier #429 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #412 - id: 412 + Identifier #429 + id: 429 src: "0:0:0" type: "Identifier" typeString: "string memory" name: "reason" - referencedDeclaration: 417 + referencedDeclaration: 434 context: ASTContext #1000 - parent: FunctionCall #413 - vReferencedDeclaration: VariableDeclaration #417 + parent: FunctionCall #430 + vReferencedDeclaration: VariableDeclaration #434 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #411 + previousSibling: Identifier #428 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #442 - id: 442 + TryCatchClause #459 + id: 459 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "Panic" - vParameters: ParameterList #441 - vBlock: Block #438 + vParameters: ParameterList #458 + vBlock: Block #455 context: ASTContext #1000 - parent: TryStatement #449 - children: Array(2) [ ParameterList #441, Block #438 ] - firstChild: ParameterList #441 - lastChild: Block #438 - previousSibling: TryCatchClause #419 - nextSibling: TryCatchClause #448 - root: SourceUnit #607 + parent: TryStatement #466 + children: Array(2) [ ParameterList #458, Block #455 ] + firstChild: ParameterList #458 + lastChild: Block #455 + previousSibling: TryCatchClause #436 + nextSibling: TryCatchClause #465 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #441 - id: 441 + ParameterList #458 + id: 458 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: TryCatchClause #442 - vParameters: Array(1) [ VariableDeclaration #440 ] - children: Array(1) [ VariableDeclaration #440 ] - firstChild: VariableDeclaration #440 - lastChild: VariableDeclaration #440 + parent: TryCatchClause #459 + vParameters: Array(1) [ VariableDeclaration #457 ] + children: Array(1) [ VariableDeclaration #457 ] + firstChild: VariableDeclaration #457 + lastChild: VariableDeclaration #457 previousSibling: undefined - nextSibling: Block #438 - root: SourceUnit #607 + nextSibling: Block #455 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #440 - id: 440 + VariableDeclaration #457 + id: 457 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "_code" - scope: 442 + scope: 459 stateVariable: false storageLocation: "default" visibility: "internal" @@ -2291,113 +2291,113 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "1063:5:0" - vType: ElementaryTypeName #439 + vType: ElementaryTypeName #456 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #441 - children: Array(1) [ ElementaryTypeName #439 ] - vScope: TryCatchClause #442 + parent: ParameterList #458 + children: Array(1) [ ElementaryTypeName #456 ] + vScope: TryCatchClause #459 canonicalSignatureType: "uint256" getterCanonicalSignature: "_code()" getterCanonicalSignatureHash: "8d1841e3" - firstChild: ElementaryTypeName #439 - lastChild: ElementaryTypeName #439 + firstChild: ElementaryTypeName #456 + lastChild: ElementaryTypeName #456 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #439 - id: 439 + ElementaryTypeName #456 + id: 456 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #440 + parent: VariableDeclaration #457 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #438 - id: 438 + Block #455 + id: 455 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #442 - vStatements: Array(1) [ IfStatement #437 ] - children: Array(1) [ IfStatement #437 ] - firstChild: IfStatement #437 - lastChild: IfStatement #437 - previousSibling: ParameterList #441 + parent: TryCatchClause #459 + vStatements: Array(1) [ IfStatement #454 ] + children: Array(1) [ IfStatement #454 ] + firstChild: IfStatement #454 + lastChild: IfStatement #454 + previousSibling: ParameterList #458 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IfStatement #437 - id: 437 + IfStatement #454 + id: 454 src: "0:0:0" type: "IfStatement" documentation: undefined - vCondition: BinaryOperation #422 - vTrueBody: Block #427 - vFalseBody: IfStatement #436 + vCondition: BinaryOperation #439 + vTrueBody: Block #444 + vFalseBody: IfStatement #453 context: ASTContext #1000 - parent: Block #438 - children: Array(3) [ BinaryOperation #422, Block #427, IfStatement #436 ] - firstChild: BinaryOperation #422 - lastChild: IfStatement #436 + parent: Block #455 + children: Array(3) [ BinaryOperation #439, Block #444, IfStatement #453 ] + firstChild: BinaryOperation #439 + lastChild: IfStatement #453 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - BinaryOperation #422 - id: 422 + BinaryOperation #439 + id: 439 src: "0:0:0" type: "BinaryOperation" typeString: "bool" operator: "==" - vLeftExpression: Identifier #420 - vRightExpression: Literal #421 + vLeftExpression: Identifier #437 + vRightExpression: Literal #438 context: ASTContext #1000 - parent: IfStatement #437 - children: Array(2) [ Identifier #420, Literal #421 ] - firstChild: Identifier #420 - lastChild: Literal #421 + parent: IfStatement #454 + children: Array(2) [ Identifier #437, Literal #438 ] + firstChild: Identifier #437 + lastChild: Literal #438 previousSibling: undefined - nextSibling: Block #427 - root: SourceUnit #607 + nextSibling: Block #444 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #420 - id: 420 + Identifier #437 + id: 437 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "_code" - referencedDeclaration: 440 + referencedDeclaration: 457 context: ASTContext #1000 - parent: BinaryOperation #422 - vReferencedDeclaration: VariableDeclaration #440 + parent: BinaryOperation #439 + vReferencedDeclaration: VariableDeclaration #457 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #421 - root: SourceUnit #607 + nextSibling: Literal #438 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #421 - id: 421 + Literal #438 + id: 438 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -2406,59 +2406,59 @@ SourceUnit #607 value: "0x01" subdenomination: undefined context: ASTContext #1000 - parent: BinaryOperation #422 + parent: BinaryOperation #439 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #420 + previousSibling: Identifier #437 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #427 - id: 427 + Block #444 + id: 444 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: IfStatement #437 - vStatements: Array(1) [ ExpressionStatement #426 ] - children: Array(1) [ ExpressionStatement #426 ] - firstChild: ExpressionStatement #426 - lastChild: ExpressionStatement #426 - previousSibling: BinaryOperation #422 - nextSibling: IfStatement #436 - root: SourceUnit #607 + parent: IfStatement #454 + vStatements: Array(1) [ ExpressionStatement #443 ] + children: Array(1) [ ExpressionStatement #443 ] + firstChild: ExpressionStatement #443 + lastChild: ExpressionStatement #443 + previousSibling: BinaryOperation #439 + nextSibling: IfStatement #453 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #426 - id: 426 + ExpressionStatement #443 + id: 443 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: FunctionCall #425 + vExpression: FunctionCall #442 context: ASTContext #1000 - parent: Block #427 - children: Array(1) [ FunctionCall #425 ] - firstChild: FunctionCall #425 - lastChild: FunctionCall #425 + parent: Block #444 + children: Array(1) [ FunctionCall #442 ] + firstChild: FunctionCall #442 + lastChild: FunctionCall #442 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #425 - id: 425 + FunctionCall #442 + id: 442 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #423 - vArguments: Array(1) [ Literal #424 ] + vExpression: Identifier #440 + vArguments: Array(1) [ Literal #441 ] context: ASTContext #1000 - parent: ExpressionStatement #426 - children: Array(2) [ Identifier #423, Literal #424 ] + parent: ExpressionStatement #443 + children: Array(2) [ Identifier #440, Literal #441 ] vIdentifier: "revert" vMemberName: undefined vFunctionCallType: "builtin" @@ -2466,35 +2466,35 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "revert" - vCallee: Identifier #423 - firstChild: Identifier #423 - lastChild: Literal #424 + vCallee: Identifier #440 + firstChild: Identifier #440 + lastChild: Literal #441 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #423 - id: 423 + Identifier #440 + id: 440 src: "0:0:0" type: "Identifier" typeString: "function (string memory) pure" name: "revert" referencedDeclaration: -1 context: ASTContext #1000 - parent: FunctionCall #425 + parent: FunctionCall #442 vReferencedDeclaration: undefined vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #424 - root: SourceUnit #607 + nextSibling: Literal #441 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #424 - id: 424 + Literal #441 + id: 441 src: "0:0:0" type: "Literal" typeString: "literal_string \"Assertion failed\"" @@ -2503,72 +2503,72 @@ SourceUnit #607 value: "Assertion failed" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #425 + parent: FunctionCall #442 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #423 + previousSibling: Identifier #440 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IfStatement #436 - id: 436 + IfStatement #453 + id: 453 src: "0:0:0" type: "IfStatement" documentation: undefined - vCondition: BinaryOperation #430 - vTrueBody: Block #435 + vCondition: BinaryOperation #447 + vTrueBody: Block #452 vFalseBody: undefined context: ASTContext #1000 - parent: IfStatement #437 - children: Array(2) [ BinaryOperation #430, Block #435 ] - firstChild: BinaryOperation #430 - lastChild: Block #435 - previousSibling: Block #427 + parent: IfStatement #454 + children: Array(2) [ BinaryOperation #447, Block #452 ] + firstChild: BinaryOperation #447 + lastChild: Block #452 + previousSibling: Block #444 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - BinaryOperation #430 - id: 430 + BinaryOperation #447 + id: 447 src: "0:0:0" type: "BinaryOperation" typeString: "bool" operator: "==" - vLeftExpression: Identifier #428 - vRightExpression: Literal #429 + vLeftExpression: Identifier #445 + vRightExpression: Literal #446 context: ASTContext #1000 - parent: IfStatement #436 - children: Array(2) [ Identifier #428, Literal #429 ] - firstChild: Identifier #428 - lastChild: Literal #429 + parent: IfStatement #453 + children: Array(2) [ Identifier #445, Literal #446 ] + firstChild: Identifier #445 + lastChild: Literal #446 previousSibling: undefined - nextSibling: Block #435 - root: SourceUnit #607 + nextSibling: Block #452 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #428 - id: 428 + Identifier #445 + id: 445 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "_code" - referencedDeclaration: 440 + referencedDeclaration: 457 context: ASTContext #1000 - parent: BinaryOperation #430 - vReferencedDeclaration: VariableDeclaration #440 + parent: BinaryOperation #447 + vReferencedDeclaration: VariableDeclaration #457 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #429 - root: SourceUnit #607 + nextSibling: Literal #446 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #429 - id: 429 + Literal #446 + id: 446 src: "0:0:0" type: "Literal" typeString: "int_const 17" @@ -2577,59 +2577,59 @@ SourceUnit #607 value: "0x11" subdenomination: undefined context: ASTContext #1000 - parent: BinaryOperation #430 + parent: BinaryOperation #447 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #428 + previousSibling: Identifier #445 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #435 - id: 435 + Block #452 + id: 452 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: IfStatement #436 - vStatements: Array(1) [ ExpressionStatement #434 ] - children: Array(1) [ ExpressionStatement #434 ] - firstChild: ExpressionStatement #434 - lastChild: ExpressionStatement #434 - previousSibling: BinaryOperation #430 + parent: IfStatement #453 + vStatements: Array(1) [ ExpressionStatement #451 ] + children: Array(1) [ ExpressionStatement #451 ] + firstChild: ExpressionStatement #451 + lastChild: ExpressionStatement #451 + previousSibling: BinaryOperation #447 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #434 - id: 434 + ExpressionStatement #451 + id: 451 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: FunctionCall #433 + vExpression: FunctionCall #450 context: ASTContext #1000 - parent: Block #435 - children: Array(1) [ FunctionCall #433 ] - firstChild: FunctionCall #433 - lastChild: FunctionCall #433 + parent: Block #452 + children: Array(1) [ FunctionCall #450 ] + firstChild: FunctionCall #450 + lastChild: FunctionCall #450 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #433 - id: 433 + FunctionCall #450 + id: 450 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #431 - vArguments: Array(1) [ Literal #432 ] + vExpression: Identifier #448 + vArguments: Array(1) [ Literal #449 ] context: ASTContext #1000 - parent: ExpressionStatement #434 - children: Array(2) [ Identifier #431, Literal #432 ] + parent: ExpressionStatement #451 + children: Array(2) [ Identifier #448, Literal #449 ] vIdentifier: "revert" vMemberName: undefined vFunctionCallType: "builtin" @@ -2637,35 +2637,35 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "revert" - vCallee: Identifier #431 - firstChild: Identifier #431 - lastChild: Literal #432 + vCallee: Identifier #448 + firstChild: Identifier #448 + lastChild: Literal #449 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #431 - id: 431 + Identifier #448 + id: 448 src: "0:0:0" type: "Identifier" typeString: "function (string memory) pure" name: "revert" referencedDeclaration: -1 context: ASTContext #1000 - parent: FunctionCall #433 + parent: FunctionCall #450 vReferencedDeclaration: undefined vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #432 - root: SourceUnit #607 + nextSibling: Literal #449 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #432 - id: 432 + Literal #449 + id: 449 src: "0:0:0" type: "Literal" typeString: "literal_string \"Underflow/overflow\"" @@ -2674,77 +2674,77 @@ SourceUnit #607 value: "Underflow/overflow" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #433 + parent: FunctionCall #450 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #431 + previousSibling: Identifier #448 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #448 - id: 448 + TryCatchClause #465 + id: 465 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "" vParameters: undefined - vBlock: Block #447 + vBlock: Block #464 context: ASTContext #1000 - parent: TryStatement #449 - children: Array(1) [ Block #447 ] - firstChild: Block #447 - lastChild: Block #447 - previousSibling: TryCatchClause #442 + parent: TryStatement #466 + children: Array(1) [ Block #464 ] + firstChild: Block #464 + lastChild: Block #464 + previousSibling: TryCatchClause #459 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #447 - id: 447 + Block #464 + id: 464 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #448 - vStatements: Array(1) [ ExpressionStatement #446 ] - children: Array(1) [ ExpressionStatement #446 ] - firstChild: ExpressionStatement #446 - lastChild: ExpressionStatement #446 + parent: TryCatchClause #465 + vStatements: Array(1) [ ExpressionStatement #463 ] + children: Array(1) [ ExpressionStatement #463 ] + firstChild: ExpressionStatement #463 + lastChild: ExpressionStatement #463 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #446 - id: 446 + ExpressionStatement #463 + id: 463 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: FunctionCall #445 + vExpression: FunctionCall #462 context: ASTContext #1000 - parent: Block #447 - children: Array(1) [ FunctionCall #445 ] - firstChild: FunctionCall #445 - lastChild: FunctionCall #445 + parent: Block #464 + children: Array(1) [ FunctionCall #462 ] + firstChild: FunctionCall #462 + lastChild: FunctionCall #462 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #445 - id: 445 + FunctionCall #462 + id: 462 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #443 - vArguments: Array(1) [ Literal #444 ] + vExpression: Identifier #460 + vArguments: Array(1) [ Literal #461 ] context: ASTContext #1000 - parent: ExpressionStatement #446 - children: Array(2) [ Identifier #443, Literal #444 ] + parent: ExpressionStatement #463 + children: Array(2) [ Identifier #460, Literal #461 ] vIdentifier: "revert" vMemberName: undefined vFunctionCallType: "builtin" @@ -2752,35 +2752,35 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "revert" - vCallee: Identifier #443 - firstChild: Identifier #443 - lastChild: Literal #444 + vCallee: Identifier #460 + firstChild: Identifier #460 + lastChild: Literal #461 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #443 - id: 443 + Identifier #460 + id: 460 src: "0:0:0" type: "Identifier" typeString: "function (string memory) pure" name: "revert" referencedDeclaration: -1 context: ASTContext #1000 - parent: FunctionCall #445 + parent: FunctionCall #462 vReferencedDeclaration: undefined vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #444 - root: SourceUnit #607 + nextSibling: Literal #461 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #444 - id: 444 + Literal #461 + id: 461 src: "0:0:0" type: "Literal" typeString: "literal_string \"Internal error\"" @@ -2789,98 +2789,98 @@ SourceUnit #607 value: "Internal error" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #445 + parent: FunctionCall #462 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #443 + previousSibling: Identifier #460 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #537 - id: 537 + ContractDefinition #554 + id: 554 src: "0:0:0" type: "ContractDefinition" name: "Features082" - scope: 607 + scope: 641 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 537 ] + linearizedBaseContracts: Array(1) [ 554 ] usedErrors: Array(0) docString: undefined nameLocation: "1333:11:0" context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 documentation: undefined - vScope: SourceUnit #607 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #537 ] + vScope: SourceUnit #641 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #554 ] vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) - vModifiers: Array(1) [ ModifierDefinition #464 ] - vEvents: Array(1) [ EventDefinition #456 ] + vModifiers: Array(1) [ ModifierDefinition #481 ] + vEvents: Array(1) [ EventDefinition #473 ] vErrors: Array(0) - vFunctions: Array(1) [ FunctionDefinition #536 ] + vFunctions: Array(1) [ FunctionDefinition #553 ] vUsingForDirectives: Array(0) vStructs: Array(0) - vEnums: Array(1) [ EnumDefinition #460 ] + vEnums: Array(1) [ EnumDefinition #477 ] vConstructor: undefined interfaceId: undefined - children: Array(4) [ EventDefinition #456, EnumDefinition #460, ModifierDefinition #464, FunctionDefinition #536 ] - firstChild: EventDefinition #456 - lastChild: FunctionDefinition #536 - previousSibling: ContractDefinition #452 - nextSibling: ErrorDefinition #542 - root: SourceUnit #607 + children: Array(4) [ EventDefinition #473, EnumDefinition #477, ModifierDefinition #481, FunctionDefinition #553 ] + firstChild: EventDefinition #473 + lastChild: FunctionDefinition #553 + previousSibling: ContractDefinition #469 + nextSibling: ErrorDefinition #559 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EventDefinition #456 - id: 456 + EventDefinition #473 + id: 473 src: "0:0:0" type: "EventDefinition" anonymous: false name: "Ev" documentation: undefined nameLocation: "1357:2:0" - vParameters: ParameterList #455 + vParameters: ParameterList #472 context: ASTContext #1000 - parent: ContractDefinition #537 - children: Array(1) [ ParameterList #455 ] - vScope: ContractDefinition #537 + parent: ContractDefinition #554 + children: Array(1) [ ParameterList #472 ] + vScope: ContractDefinition #554 canonicalSignature: "Ev(uint256)" canonicalSignatureHash: "b30c6e01" - firstChild: ParameterList #455 - lastChild: ParameterList #455 + firstChild: ParameterList #472 + lastChild: ParameterList #472 previousSibling: undefined - nextSibling: EnumDefinition #460 - root: SourceUnit #607 + nextSibling: EnumDefinition #477 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #455 - id: 455 + ParameterList #472 + id: 472 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: EventDefinition #456 - vParameters: Array(1) [ VariableDeclaration #454 ] - children: Array(1) [ VariableDeclaration #454 ] - firstChild: VariableDeclaration #454 - lastChild: VariableDeclaration #454 + parent: EventDefinition #473 + vParameters: Array(1) [ VariableDeclaration #471 ] + children: Array(1) [ VariableDeclaration #471 ] + firstChild: VariableDeclaration #471 + lastChild: VariableDeclaration #471 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #454 - id: 454 + VariableDeclaration #471 + id: 471 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "a" - scope: 456 + scope: 473 stateVariable: false storageLocation: "default" visibility: "internal" @@ -2888,109 +2888,109 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "1365:1:0" - vType: ElementaryTypeName #453 + vType: ElementaryTypeName #470 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #455 - children: Array(1) [ ElementaryTypeName #453 ] - vScope: EventDefinition #456 + parent: ParameterList #472 + children: Array(1) [ ElementaryTypeName #470 ] + vScope: EventDefinition #473 canonicalSignatureType: "uint256" getterCanonicalSignature: "a()" getterCanonicalSignatureHash: "0dbe671f" - firstChild: ElementaryTypeName #453 - lastChild: ElementaryTypeName #453 + firstChild: ElementaryTypeName #470 + lastChild: ElementaryTypeName #470 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #453 - id: 453 + ElementaryTypeName #470 + id: 470 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #454 + parent: VariableDeclaration #471 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumDefinition #460 - id: 460 + EnumDefinition #477 + id: 477 src: "0:0:0" type: "EnumDefinition" name: "EnumXYZ" canonicalName: "Features082.EnumXYZ" nameLocation: "1379:7:0" context: ASTContext #1000 - parent: ContractDefinition #537 - vMembers: Array(3) [ EnumValue #457, EnumValue #458, EnumValue #459 ] - vScope: ContractDefinition #537 - children: Array(3) [ EnumValue #457, EnumValue #458, EnumValue #459 ] - firstChild: EnumValue #457 - lastChild: EnumValue #459 - previousSibling: EventDefinition #456 - nextSibling: ModifierDefinition #464 - root: SourceUnit #607 + parent: ContractDefinition #554 + vMembers: Array(3) [ EnumValue #474, EnumValue #475, EnumValue #476 ] + vScope: ContractDefinition #554 + children: Array(3) [ EnumValue #474, EnumValue #475, EnumValue #476 ] + firstChild: EnumValue #474 + lastChild: EnumValue #476 + previousSibling: EventDefinition #473 + nextSibling: ModifierDefinition #481 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #457 - id: 457 + EnumValue #474 + id: 474 src: "0:0:0" type: "EnumValue" name: "X" nameLocation: "1397:1:0" context: ASTContext #1000 - parent: EnumDefinition #460 + parent: EnumDefinition #477 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: EnumValue #458 - root: SourceUnit #607 + nextSibling: EnumValue #475 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #458 - id: 458 + EnumValue #475 + id: 475 src: "0:0:0" type: "EnumValue" name: "Y" nameLocation: "1400:1:0" context: ASTContext #1000 - parent: EnumDefinition #460 + parent: EnumDefinition #477 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: EnumValue #457 - nextSibling: EnumValue #459 - root: SourceUnit #607 + previousSibling: EnumValue #474 + nextSibling: EnumValue #476 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EnumValue #459 - id: 459 + EnumValue #476 + id: 476 src: "0:0:0" type: "EnumValue" name: "Z" nameLocation: "1403:1:0" context: ASTContext #1000 - parent: EnumDefinition #460 + parent: EnumDefinition #477 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: EnumValue #458 + previousSibling: EnumValue #475 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ModifierDefinition #464 - id: 464 + ModifierDefinition #481 + id: 481 src: "0:0:0" type: "ModifierDefinition" name: "modStructDocs" @@ -2998,75 +2998,75 @@ SourceUnit #607 visibility: "internal" documentation: undefined nameLocation: "1425:13:0" - vParameters: ParameterList #461 + vParameters: ParameterList #478 vOverrideSpecifier: undefined - vBody: Block #463 + vBody: Block #480 context: ASTContext #1000 - parent: ContractDefinition #537 - children: Array(2) [ ParameterList #461, Block #463 ] - vScope: ContractDefinition #537 + parent: ContractDefinition #554 + children: Array(2) [ ParameterList #478, Block #480 ] + vScope: ContractDefinition #554 canonicalSignature: "modStructDocs()" canonicalSignatureHash: "cd8540bf" - firstChild: ParameterList #461 - lastChild: Block #463 - previousSibling: EnumDefinition #460 - nextSibling: FunctionDefinition #536 - root: SourceUnit #607 + firstChild: ParameterList #478 + lastChild: Block #480 + previousSibling: EnumDefinition #477 + nextSibling: FunctionDefinition #553 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #461 - id: 461 + ParameterList #478 + id: 478 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: ModifierDefinition #464 + parent: ModifierDefinition #481 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Block #463 - root: SourceUnit #607 + nextSibling: Block #480 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #463 - id: 463 + Block #480 + id: 480 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: ModifierDefinition #464 - vStatements: Array(1) [ PlaceholderStatement #462 ] - children: Array(1) [ PlaceholderStatement #462 ] - firstChild: PlaceholderStatement #462 - lastChild: PlaceholderStatement #462 - previousSibling: ParameterList #461 + parent: ModifierDefinition #481 + vStatements: Array(1) [ PlaceholderStatement #479 ] + children: Array(1) [ PlaceholderStatement #479 ] + firstChild: PlaceholderStatement #479 + lastChild: PlaceholderStatement #479 + previousSibling: ParameterList #478 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - PlaceholderStatement #462 - id: 462 + PlaceholderStatement #479 + id: 479 src: "0:0:0" type: "PlaceholderStatement" documentation: "PlaceholderStatement docstring" context: ASTContext #1000 - parent: Block #463 + parent: Block #480 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #536 - id: 536 + FunctionDefinition #553 + id: 553 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 537 + scope: 554 kind: "function" name: "stmtStructDocs" visibility: "public" @@ -3074,131 +3074,131 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "1517:14:0" - vParameters: ParameterList #465 - vReturnParameters: ParameterList #466 - vModifiers: Array(1) [ ModifierInvocation #468 ] + vParameters: ParameterList #482 + vReturnParameters: ParameterList #483 + vModifiers: Array(1) [ ModifierInvocation #485 ] vOverrideSpecifier: undefined - vBody: Block #535 + vBody: Block #552 context: ASTContext #1000 - parent: ContractDefinition #537 - children: Array(4) [ ParameterList #465, ModifierInvocation #468, ParameterList #466, Block #535 ] - vScope: ContractDefinition #537 + parent: ContractDefinition #554 + children: Array(4) [ ParameterList #482, ModifierInvocation #485, ParameterList #483, Block #552 ] + vScope: ContractDefinition #554 canonicalSignature: "stmtStructDocs()" canonicalSignatureHash: "734ea2b8" - firstChild: ParameterList #465 - lastChild: Block #535 - previousSibling: ModifierDefinition #464 + firstChild: ParameterList #482 + lastChild: Block #552 + previousSibling: ModifierDefinition #481 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #465 - id: 465 + ParameterList #482 + id: 482 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #536 + parent: FunctionDefinition #553 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ModifierInvocation #468 - root: SourceUnit #607 + nextSibling: ModifierInvocation #485 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ModifierInvocation #468 - id: 468 + ModifierInvocation #485 + id: 485 src: "0:0:0" type: "ModifierInvocation" kind: "modifierInvocation" - vModifierName: IdentifierPath #467 + vModifierName: IdentifierPath #484 vArguments: Array(0) context: ASTContext #1000 - parent: FunctionDefinition #536 - children: Array(1) [ IdentifierPath #467 ] + parent: FunctionDefinition #553 + children: Array(1) [ IdentifierPath #484 ] vModifier: ModifierDefinition #153 - firstChild: IdentifierPath #467 - lastChild: IdentifierPath #467 - previousSibling: ParameterList #465 - nextSibling: ParameterList #466 - root: SourceUnit #607 + firstChild: IdentifierPath #484 + lastChild: IdentifierPath #484 + previousSibling: ParameterList #482 + nextSibling: ParameterList #483 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #467 - id: 467 + IdentifierPath #484 + id: 484 src: "0:0:0" type: "IdentifierPath" name: "modStructDocs" referencedDeclaration: 153 context: ASTContext #1000 - parent: ModifierInvocation #468 + parent: ModifierInvocation #485 vReferencedDeclaration: ModifierDefinition #153 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #466 - id: 466 + ParameterList #483 + id: 483 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #536 + parent: FunctionDefinition #553 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ModifierInvocation #468 - nextSibling: Block #535 - root: SourceUnit #607 + previousSibling: ModifierInvocation #485 + nextSibling: Block #552 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #535 - id: 535 + Block #552 + id: 552 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #536 - vStatements: Array(13) [ VariableDeclarationStatement #473, ExpressionStatement #475, Block #476, EmitStatement #480, WhileStatement #484, DoWhileStatement #488, ForStatement #501, IfStatement #505, VariableDeclarationStatement #513, TryStatement #531, InlineAssembly #532, UncheckedBlock #533, Return #534 ] - children: Array(13) [ VariableDeclarationStatement #473, ExpressionStatement #475, Block #476, EmitStatement #480, WhileStatement #484, DoWhileStatement #488, ForStatement #501, IfStatement #505, VariableDeclarationStatement #513, TryStatement #531, InlineAssembly #532, UncheckedBlock #533, Return #534 ] - firstChild: VariableDeclarationStatement #473 - lastChild: Return #534 - previousSibling: ParameterList #466 + parent: FunctionDefinition #553 + vStatements: Array(13) [ VariableDeclarationStatement #490, ExpressionStatement #492, Block #493, EmitStatement #497, WhileStatement #501, DoWhileStatement #505, ForStatement #518, IfStatement #522, VariableDeclarationStatement #530, TryStatement #548, InlineAssembly #549, UncheckedBlock #550, Return #551 ] + children: Array(13) [ VariableDeclarationStatement #490, ExpressionStatement #492, Block #493, EmitStatement #497, WhileStatement #501, DoWhileStatement #505, ForStatement #518, IfStatement #522, VariableDeclarationStatement #530, TryStatement #548, InlineAssembly #549, UncheckedBlock #550, Return #551 ] + firstChild: VariableDeclarationStatement #490 + lastChild: Return #551 + previousSibling: ParameterList #483 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #473 - id: 473 + VariableDeclarationStatement #490 + id: 490 src: "0:0:0" type: "VariableDeclarationStatement" documentation: "VariableDeclarationStatement docstring" - assignments: Array(1) [ 470 ] - vDeclarations: Array(1) [ VariableDeclaration #470 ] - vInitialValue: TupleExpression #472 + assignments: Array(1) [ 487 ] + vDeclarations: Array(1) [ VariableDeclaration #487 ] + vInitialValue: TupleExpression #489 context: ASTContext #1000 - parent: Block #535 - children: Array(2) [ VariableDeclaration #470, TupleExpression #472 ] - firstChild: VariableDeclaration #470 - lastChild: TupleExpression #472 + parent: Block #552 + children: Array(2) [ VariableDeclaration #487, TupleExpression #489 ] + firstChild: VariableDeclaration #487 + lastChild: TupleExpression #489 previousSibling: undefined - nextSibling: ExpressionStatement #475 - root: SourceUnit #607 + nextSibling: ExpressionStatement #492 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #470 - id: 470 + VariableDeclaration #487 + id: 487 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "a" - scope: 535 + scope: 552 stateVariable: false storageLocation: "default" visibility: "internal" @@ -3206,61 +3206,61 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "1624:1:0" - vType: ElementaryTypeName #469 + vType: ElementaryTypeName #486 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #473 - children: Array(1) [ ElementaryTypeName #469 ] - vScope: Block #535 + parent: VariableDeclarationStatement #490 + children: Array(1) [ ElementaryTypeName #486 ] + vScope: Block #552 canonicalSignatureType: "uint256" getterCanonicalSignature: "a()" getterCanonicalSignatureHash: "0dbe671f" - firstChild: ElementaryTypeName #469 - lastChild: ElementaryTypeName #469 + firstChild: ElementaryTypeName #486 + lastChild: ElementaryTypeName #486 previousSibling: undefined - nextSibling: TupleExpression #472 - root: SourceUnit #607 + nextSibling: TupleExpression #489 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #469 - id: 469 + ElementaryTypeName #486 + id: 486 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #470 + parent: VariableDeclaration #487 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TupleExpression #472 - id: 472 + TupleExpression #489 + id: 489 src: "0:0:0" type: "TupleExpression" typeString: "int_const 1" isInlineArray: false - vOriginalComponents: Array(1) [ Literal #471 ] + vOriginalComponents: Array(1) [ Literal #488 ] context: ASTContext #1000 - parent: VariableDeclarationStatement #473 - children: Array(1) [ Literal #471 ] - components: Array(1) [ 471 ] - vComponents: Array(1) [ Literal #471 ] - firstChild: Literal #471 - lastChild: Literal #471 - previousSibling: VariableDeclaration #470 + parent: VariableDeclarationStatement #490 + children: Array(1) [ Literal #488 ] + components: Array(1) [ 488 ] + vComponents: Array(1) [ Literal #488 ] + firstChild: Literal #488 + lastChild: Literal #488 + previousSibling: VariableDeclaration #487 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #471 - id: 471 + Literal #488 + id: 488 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3269,33 +3269,33 @@ SourceUnit #607 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: TupleExpression #472 + parent: TupleExpression #489 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #475 - id: 475 + ExpressionStatement #492 + id: 492 src: "0:0:0" type: "ExpressionStatement" documentation: "ExpressionStatement docstring" - vExpression: Literal #474 + vExpression: Literal #491 context: ASTContext #1000 - parent: Block #535 - children: Array(1) [ Literal #474 ] - firstChild: Literal #474 - lastChild: Literal #474 - previousSibling: VariableDeclarationStatement #473 - nextSibling: Block #476 - root: SourceUnit #607 + parent: Block #552 + children: Array(1) [ Literal #491 ] + firstChild: Literal #491 + lastChild: Literal #491 + previousSibling: VariableDeclarationStatement #490 + nextSibling: Block #493 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #474 - id: 474 + Literal #491 + id: 491 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3304,95 +3304,95 @@ SourceUnit #607 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: ExpressionStatement #475 + parent: ExpressionStatement #492 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #476 - id: 476 + Block #493 + id: 493 src: "0:0:0" type: "Block" documentation: "Block docstring" context: ASTContext #1000 - parent: Block #535 + parent: Block #552 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ExpressionStatement #475 - nextSibling: EmitStatement #480 - root: SourceUnit #607 + previousSibling: ExpressionStatement #492 + nextSibling: EmitStatement #497 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - EmitStatement #480 - id: 480 + EmitStatement #497 + id: 497 src: "0:0:0" type: "EmitStatement" documentation: "EmitStatement docstring" - vEventCall: FunctionCall #479 + vEventCall: FunctionCall #496 context: ASTContext #1000 - parent: Block #535 - children: Array(1) [ FunctionCall #479 ] - firstChild: FunctionCall #479 - lastChild: FunctionCall #479 - previousSibling: Block #476 - nextSibling: WhileStatement #484 - root: SourceUnit #607 + parent: Block #552 + children: Array(1) [ FunctionCall #496 ] + firstChild: FunctionCall #496 + lastChild: FunctionCall #496 + previousSibling: Block #493 + nextSibling: WhileStatement #501 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #479 - id: 479 + FunctionCall #496 + id: 496 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #477 - vArguments: Array(1) [ Literal #478 ] + vExpression: Identifier #494 + vArguments: Array(1) [ Literal #495 ] context: ASTContext #1000 - parent: EmitStatement #480 - children: Array(2) [ Identifier #477, Literal #478 ] + parent: EmitStatement #497 + children: Array(2) [ Identifier #494, Literal #495 ] vIdentifier: "Ev" vMemberName: undefined vFunctionCallType: "userDefined" - vReferencedDeclaration: EventDefinition #456 + vReferencedDeclaration: EventDefinition #473 referencedCanonicalSignature: "Ev(uint256)" referencedCanonicalSignatureHash: "b30c6e01" vFunctionName: "Ev" - vCallee: Identifier #477 - firstChild: Identifier #477 - lastChild: Literal #478 + vCallee: Identifier #494 + firstChild: Identifier #494 + lastChild: Literal #495 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #477 - id: 477 + Identifier #494 + id: 494 src: "0:0:0" type: "Identifier" typeString: "function (uint256)" name: "Ev" - referencedDeclaration: 456 + referencedDeclaration: 473 context: ASTContext #1000 - parent: FunctionCall #479 - vReferencedDeclaration: EventDefinition #456 + parent: FunctionCall #496 + vReferencedDeclaration: EventDefinition #473 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #478 - root: SourceUnit #607 + nextSibling: Literal #495 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #478 - id: 478 + Literal #495 + id: 495 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3401,34 +3401,34 @@ SourceUnit #607 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #479 + parent: FunctionCall #496 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #477 + previousSibling: Identifier #494 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - WhileStatement #484 - id: 484 + WhileStatement #501 + id: 501 src: "0:0:0" type: "WhileStatement" documentation: "WhileStatement docstring" - vCondition: Literal #481 - vBody: Block #483 + vCondition: Literal #498 + vBody: Block #500 context: ASTContext #1000 - parent: Block #535 - children: Array(2) [ Literal #481, Block #483 ] - firstChild: Literal #481 - lastChild: Block #483 - previousSibling: EmitStatement #480 - nextSibling: DoWhileStatement #488 - root: SourceUnit #607 + parent: Block #552 + children: Array(2) [ Literal #498, Block #500 ] + firstChild: Literal #498 + lastChild: Block #500 + previousSibling: EmitStatement #497 + nextSibling: DoWhileStatement #505 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #481 - id: 481 + Literal #498 + id: 498 src: "0:0:0" type: "Literal" typeString: "bool" @@ -3437,65 +3437,65 @@ SourceUnit #607 value: "false" subdenomination: undefined context: ASTContext #1000 - parent: WhileStatement #484 + parent: WhileStatement #501 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Block #483 - root: SourceUnit #607 + nextSibling: Block #500 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #483 - id: 483 + Block #500 + id: 500 src: "0:0:0" type: "Block" documentation: "Body Block docstring" context: ASTContext #1000 - parent: WhileStatement #484 - vStatements: Array(1) [ Continue #482 ] - children: Array(1) [ Continue #482 ] - firstChild: Continue #482 - lastChild: Continue #482 - previousSibling: Literal #481 + parent: WhileStatement #501 + vStatements: Array(1) [ Continue #499 ] + children: Array(1) [ Continue #499 ] + firstChild: Continue #499 + lastChild: Continue #499 + previousSibling: Literal #498 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Continue #482 - id: 482 + Continue #499 + id: 499 src: "0:0:0" type: "Continue" documentation: "Continue docstring" context: ASTContext #1000 - parent: Block #483 + parent: Block #500 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - DoWhileStatement #488 - id: 488 + DoWhileStatement #505 + id: 505 src: "0:0:0" type: "DoWhileStatement" documentation: "DoWhileStatement docstring" - vCondition: Literal #485 - vBody: Block #487 + vCondition: Literal #502 + vBody: Block #504 context: ASTContext #1000 - parent: Block #535 - children: Array(2) [ Literal #485, Block #487 ] - firstChild: Literal #485 - lastChild: Block #487 - previousSibling: WhileStatement #484 - nextSibling: ForStatement #501 - root: SourceUnit #607 + parent: Block #552 + children: Array(2) [ Literal #502, Block #504 ] + firstChild: Literal #502 + lastChild: Block #504 + previousSibling: WhileStatement #501 + nextSibling: ForStatement #518 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #485 - id: 485 + Literal #502 + id: 502 src: "0:0:0" type: "Literal" typeString: "bool" @@ -3504,91 +3504,91 @@ SourceUnit #607 value: "true" subdenomination: undefined context: ASTContext #1000 - parent: DoWhileStatement #488 + parent: DoWhileStatement #505 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Block #487 - root: SourceUnit #607 + nextSibling: Block #504 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #487 - id: 487 + Block #504 + id: 504 src: "0:0:0" type: "Block" documentation: "Body Block docstring" context: ASTContext #1000 - parent: DoWhileStatement #488 - vStatements: Array(1) [ Break #486 ] - children: Array(1) [ Break #486 ] - firstChild: Break #486 - lastChild: Break #486 - previousSibling: Literal #485 + parent: DoWhileStatement #505 + vStatements: Array(1) [ Break #503 ] + children: Array(1) [ Break #503 ] + firstChild: Break #503 + lastChild: Break #503 + previousSibling: Literal #502 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Break #486 - id: 486 + Break #503 + id: 503 src: "0:0:0" type: "Break" documentation: "Break docstring" context: ASTContext #1000 - parent: Block #487 + parent: Block #504 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ForStatement #501 - id: 501 + ForStatement #518 + id: 518 src: "0:0:0" type: "ForStatement" documentation: "ForStatement docstring" - vInitializationExpression: VariableDeclarationStatement #494 - vCondition: BinaryOperation #497 - vLoopExpression: ExpressionStatement #500 - vBody: Block #489 + vInitializationExpression: VariableDeclarationStatement #511 + vCondition: BinaryOperation #514 + vLoopExpression: ExpressionStatement #517 + vBody: Block #506 context: ASTContext #1000 - parent: Block #535 - children: Array(4) [ VariableDeclarationStatement #494, BinaryOperation #497, ExpressionStatement #500, Block #489 ] - firstChild: VariableDeclarationStatement #494 - lastChild: Block #489 - previousSibling: DoWhileStatement #488 - nextSibling: IfStatement #505 - root: SourceUnit #607 + parent: Block #552 + children: Array(4) [ VariableDeclarationStatement #511, BinaryOperation #514, ExpressionStatement #517, Block #506 ] + firstChild: VariableDeclarationStatement #511 + lastChild: Block #506 + previousSibling: DoWhileStatement #505 + nextSibling: IfStatement #522 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #494 - id: 494 + VariableDeclarationStatement #511 + id: 511 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 491 ] - vDeclarations: Array(1) [ VariableDeclaration #491 ] - vInitialValue: TupleExpression #493 + assignments: Array(1) [ 508 ] + vDeclarations: Array(1) [ VariableDeclaration #508 ] + vInitialValue: TupleExpression #510 context: ASTContext #1000 - parent: ForStatement #501 - children: Array(2) [ VariableDeclaration #491, TupleExpression #493 ] - firstChild: VariableDeclaration #491 - lastChild: TupleExpression #493 + parent: ForStatement #518 + children: Array(2) [ VariableDeclaration #508, TupleExpression #510 ] + firstChild: VariableDeclaration #508 + lastChild: TupleExpression #510 previousSibling: undefined - nextSibling: BinaryOperation #497 - root: SourceUnit #607 + nextSibling: BinaryOperation #514 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #491 - id: 491 + VariableDeclaration #508 + id: 508 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "n" - scope: 501 + scope: 518 stateVariable: false storageLocation: "default" visibility: "internal" @@ -3596,61 +3596,61 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "2258:1:0" - vType: ElementaryTypeName #490 + vType: ElementaryTypeName #507 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #494 - children: Array(1) [ ElementaryTypeName #490 ] - vScope: ForStatement #501 + parent: VariableDeclarationStatement #511 + children: Array(1) [ ElementaryTypeName #507 ] + vScope: ForStatement #518 canonicalSignatureType: "uint256" getterCanonicalSignature: "n()" getterCanonicalSignatureHash: "2e52d606" - firstChild: ElementaryTypeName #490 - lastChild: ElementaryTypeName #490 + firstChild: ElementaryTypeName #507 + lastChild: ElementaryTypeName #507 previousSibling: undefined - nextSibling: TupleExpression #493 - root: SourceUnit #607 + nextSibling: TupleExpression #510 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #490 - id: 490 + ElementaryTypeName #507 + id: 507 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #491 + parent: VariableDeclaration #508 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TupleExpression #493 - id: 493 + TupleExpression #510 + id: 510 src: "0:0:0" type: "TupleExpression" typeString: "int_const 1" isInlineArray: false - vOriginalComponents: Array(1) [ Literal #492 ] + vOriginalComponents: Array(1) [ Literal #509 ] context: ASTContext #1000 - parent: VariableDeclarationStatement #494 - children: Array(1) [ Literal #492 ] - components: Array(1) [ 492 ] - vComponents: Array(1) [ Literal #492 ] - firstChild: Literal #492 - lastChild: Literal #492 - previousSibling: VariableDeclaration #491 + parent: VariableDeclarationStatement #511 + children: Array(1) [ Literal #509 ] + components: Array(1) [ 509 ] + vComponents: Array(1) [ Literal #509 ] + firstChild: Literal #509 + lastChild: Literal #509 + previousSibling: VariableDeclaration #508 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #492 - id: 492 + Literal #509 + id: 509 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3659,54 +3659,54 @@ SourceUnit #607 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: TupleExpression #493 + parent: TupleExpression #510 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - BinaryOperation #497 - id: 497 + BinaryOperation #514 + id: 514 src: "0:0:0" type: "BinaryOperation" typeString: "bool" operator: "<" - vLeftExpression: Identifier #495 - vRightExpression: Literal #496 + vLeftExpression: Identifier #512 + vRightExpression: Literal #513 context: ASTContext #1000 - parent: ForStatement #501 - children: Array(2) [ Identifier #495, Literal #496 ] - firstChild: Identifier #495 - lastChild: Literal #496 - previousSibling: VariableDeclarationStatement #494 - nextSibling: ExpressionStatement #500 - root: SourceUnit #607 + parent: ForStatement #518 + children: Array(2) [ Identifier #512, Literal #513 ] + firstChild: Identifier #512 + lastChild: Literal #513 + previousSibling: VariableDeclarationStatement #511 + nextSibling: ExpressionStatement #517 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #495 - id: 495 + Identifier #512 + id: 512 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "n" - referencedDeclaration: 491 + referencedDeclaration: 508 context: ASTContext #1000 - parent: BinaryOperation #497 - vReferencedDeclaration: VariableDeclaration #491 + parent: BinaryOperation #514 + vReferencedDeclaration: VariableDeclaration #508 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #496 - root: SourceUnit #607 + nextSibling: Literal #513 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #496 - id: 496 + Literal #513 + id: 513 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -3715,104 +3715,104 @@ SourceUnit #607 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: BinaryOperation #497 + parent: BinaryOperation #514 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #495 + previousSibling: Identifier #512 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ExpressionStatement #500 - id: 500 + ExpressionStatement #517 + id: 517 src: "0:0:0" type: "ExpressionStatement" documentation: undefined - vExpression: UnaryOperation #499 + vExpression: UnaryOperation #516 context: ASTContext #1000 - parent: ForStatement #501 - children: Array(1) [ UnaryOperation #499 ] - firstChild: UnaryOperation #499 - lastChild: UnaryOperation #499 - previousSibling: BinaryOperation #497 - nextSibling: Block #489 - root: SourceUnit #607 + parent: ForStatement #518 + children: Array(1) [ UnaryOperation #516 ] + firstChild: UnaryOperation #516 + lastChild: UnaryOperation #516 + previousSibling: BinaryOperation #514 + nextSibling: Block #506 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UnaryOperation #499 - id: 499 + UnaryOperation #516 + id: 516 src: "0:0:0" type: "UnaryOperation" typeString: "uint256" prefix: false operator: "++" - vSubExpression: Identifier #498 + vSubExpression: Identifier #515 context: ASTContext #1000 - parent: ExpressionStatement #500 - children: Array(1) [ Identifier #498 ] - firstChild: Identifier #498 - lastChild: Identifier #498 + parent: ExpressionStatement #517 + children: Array(1) [ Identifier #515 ] + firstChild: Identifier #515 + lastChild: Identifier #515 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #498 - id: 498 + Identifier #515 + id: 515 src: "0:0:0" type: "Identifier" typeString: "uint256" name: "n" - referencedDeclaration: 491 + referencedDeclaration: 508 context: ASTContext #1000 - parent: UnaryOperation #499 - vReferencedDeclaration: VariableDeclaration #491 + parent: UnaryOperation #516 + vReferencedDeclaration: VariableDeclaration #508 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #489 - id: 489 + Block #506 + id: 506 src: "0:0:0" type: "Block" documentation: "Body Block docstring" context: ASTContext #1000 - parent: ForStatement #501 + parent: ForStatement #518 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ExpressionStatement #500 + previousSibling: ExpressionStatement #517 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IfStatement #505 - id: 505 + IfStatement #522 + id: 522 src: "0:0:0" type: "IfStatement" documentation: "IfStatement docstring" - vCondition: Literal #502 - vTrueBody: Block #503 - vFalseBody: Block #504 + vCondition: Literal #519 + vTrueBody: Block #520 + vFalseBody: Block #521 context: ASTContext #1000 - parent: Block #535 - children: Array(3) [ Literal #502, Block #503, Block #504 ] - firstChild: Literal #502 - lastChild: Block #504 - previousSibling: ForStatement #501 - nextSibling: VariableDeclarationStatement #513 - root: SourceUnit #607 + parent: Block #552 + children: Array(3) [ Literal #519, Block #520, Block #521 ] + firstChild: Literal #519 + lastChild: Block #521 + previousSibling: ForStatement #518 + nextSibling: VariableDeclarationStatement #530 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #502 - id: 502 + Literal #519 + id: 519 src: "0:0:0" type: "Literal" typeString: "bool" @@ -3821,73 +3821,73 @@ SourceUnit #607 value: "false" subdenomination: undefined context: ASTContext #1000 - parent: IfStatement #505 + parent: IfStatement #522 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Block #503 - root: SourceUnit #607 + nextSibling: Block #520 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #503 - id: 503 + Block #520 + id: 520 src: "0:0:0" type: "Block" documentation: "True body Block docstring" context: ASTContext #1000 - parent: IfStatement #505 + parent: IfStatement #522 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Literal #502 - nextSibling: Block #504 - root: SourceUnit #607 + previousSibling: Literal #519 + nextSibling: Block #521 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #504 - id: 504 + Block #521 + id: 521 src: "0:0:0" type: "Block" documentation: "False body Block docstring" context: ASTContext #1000 - parent: IfStatement #505 + parent: IfStatement #522 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Block #503 + previousSibling: Block #520 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #513 - id: 513 + VariableDeclarationStatement #530 + id: 530 src: "0:0:0" type: "VariableDeclarationStatement" documentation: undefined - assignments: Array(1) [ 508 ] - vDeclarations: Array(1) [ VariableDeclaration #508 ] - vInitialValue: FunctionCall #512 + assignments: Array(1) [ 525 ] + vDeclarations: Array(1) [ VariableDeclaration #525 ] + vInitialValue: FunctionCall #529 context: ASTContext #1000 - parent: Block #535 - children: Array(2) [ VariableDeclaration #508, FunctionCall #512 ] - firstChild: VariableDeclaration #508 - lastChild: FunctionCall #512 - previousSibling: IfStatement #505 - nextSibling: TryStatement #531 - root: SourceUnit #607 + parent: Block #552 + children: Array(2) [ VariableDeclaration #525, FunctionCall #529 ] + firstChild: VariableDeclaration #525 + lastChild: FunctionCall #529 + previousSibling: IfStatement #522 + nextSibling: TryStatement #548 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #508 - id: 508 + VariableDeclaration #525 + id: 525 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "cp" - scope: 535 + scope: 552 stateVariable: false storageLocation: "default" visibility: "internal" @@ -3895,71 +3895,71 @@ SourceUnit #607 typeString: "contract CatchPanic" documentation: undefined nameLocation: "2637:2:0" - vType: UserDefinedTypeName #507 + vType: UserDefinedTypeName #524 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #513 - children: Array(1) [ UserDefinedTypeName #507 ] - vScope: Block #535 + parent: VariableDeclarationStatement #530 + children: Array(1) [ UserDefinedTypeName #524 ] + vScope: Block #552 canonicalSignatureType: "address" getterCanonicalSignature: "cp()" getterCanonicalSignatureHash: "7056dc40" - firstChild: UserDefinedTypeName #507 - lastChild: UserDefinedTypeName #507 + firstChild: UserDefinedTypeName #524 + lastChild: UserDefinedTypeName #524 previousSibling: undefined - nextSibling: FunctionCall #512 - root: SourceUnit #607 + nextSibling: FunctionCall #529 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #507 - id: 507 + UserDefinedTypeName #524 + id: 524 src: "0:0:0" type: "UserDefinedTypeName" typeString: "contract CatchPanic" name: undefined - referencedDeclaration: 452 - path: IdentifierPath #506 + referencedDeclaration: 469 + path: IdentifierPath #523 context: ASTContext #1000 - parent: VariableDeclaration #508 - children: Array(1) [ IdentifierPath #506 ] - vReferencedDeclaration: ContractDefinition #452 - firstChild: IdentifierPath #506 - lastChild: IdentifierPath #506 + parent: VariableDeclaration #525 + children: Array(1) [ IdentifierPath #523 ] + vReferencedDeclaration: ContractDefinition #469 + firstChild: IdentifierPath #523 + lastChild: IdentifierPath #523 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #506 - id: 506 + IdentifierPath #523 + id: 523 src: "0:0:0" type: "IdentifierPath" name: "CatchPanic" referencedDeclaration: 141 context: ASTContext #1000 - parent: UserDefinedTypeName #507 + parent: UserDefinedTypeName #524 vReferencedDeclaration: ContractDefinition #141 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #512 - id: 512 + FunctionCall #529 + id: 529 src: "0:0:0" type: "FunctionCall" typeString: "contract CatchPanic" kind: "functionCall" fieldNames: undefined - vExpression: NewExpression #511 + vExpression: NewExpression #528 vArguments: Array(0) context: ASTContext #1000 - parent: VariableDeclarationStatement #513 - children: Array(1) [ NewExpression #511 ] + parent: VariableDeclarationStatement #530 + children: Array(1) [ NewExpression #528 ] vIdentifier: "new" vMemberName: undefined vFunctionCallType: "builtin" @@ -3967,223 +3967,223 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "new" - vCallee: NewExpression #511 - firstChild: NewExpression #511 - lastChild: NewExpression #511 - previousSibling: VariableDeclaration #508 + vCallee: NewExpression #528 + firstChild: NewExpression #528 + lastChild: NewExpression #528 + previousSibling: VariableDeclaration #525 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - NewExpression #511 - id: 511 + NewExpression #528 + id: 528 src: "0:0:0" type: "NewExpression" typeString: "function () returns (contract CatchPanic)" - vTypeName: UserDefinedTypeName #510 + vTypeName: UserDefinedTypeName #527 context: ASTContext #1000 - parent: FunctionCall #512 - children: Array(1) [ UserDefinedTypeName #510 ] - firstChild: UserDefinedTypeName #510 - lastChild: UserDefinedTypeName #510 + parent: FunctionCall #529 + children: Array(1) [ UserDefinedTypeName #527 ] + firstChild: UserDefinedTypeName #527 + lastChild: UserDefinedTypeName #527 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UserDefinedTypeName #510 - id: 510 + UserDefinedTypeName #527 + id: 527 src: "0:0:0" type: "UserDefinedTypeName" typeString: "contract CatchPanic" name: undefined - referencedDeclaration: 452 - path: IdentifierPath #509 + referencedDeclaration: 469 + path: IdentifierPath #526 context: ASTContext #1000 - parent: NewExpression #511 - children: Array(1) [ IdentifierPath #509 ] - vReferencedDeclaration: ContractDefinition #452 - firstChild: IdentifierPath #509 - lastChild: IdentifierPath #509 + parent: NewExpression #528 + children: Array(1) [ IdentifierPath #526 ] + vReferencedDeclaration: ContractDefinition #469 + firstChild: IdentifierPath #526 + lastChild: IdentifierPath #526 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - IdentifierPath #509 - id: 509 + IdentifierPath #526 + id: 526 src: "0:0:0" type: "IdentifierPath" name: "CatchPanic" referencedDeclaration: 141 context: ASTContext #1000 - parent: UserDefinedTypeName #510 + parent: UserDefinedTypeName #527 vReferencedDeclaration: ContractDefinition #141 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryStatement #531 - id: 531 + TryStatement #548 + id: 548 src: "0:0:0" type: "TryStatement" documentation: "TryStatement docstring" - vExternalCall: FunctionCall #516 - vClauses: Array(4) [ TryCatchClause #518, TryCatchClause #523, TryCatchClause #528, TryCatchClause #530 ] + vExternalCall: FunctionCall #533 + vClauses: Array(4) [ TryCatchClause #535, TryCatchClause #540, TryCatchClause #545, TryCatchClause #547 ] context: ASTContext #1000 - parent: Block #535 - children: Array(5) [ FunctionCall #516, TryCatchClause #518, TryCatchClause #523, TryCatchClause #528, TryCatchClause #530 ] - firstChild: FunctionCall #516 - lastChild: TryCatchClause #530 - previousSibling: VariableDeclarationStatement #513 - nextSibling: InlineAssembly #532 - root: SourceUnit #607 + parent: Block #552 + children: Array(5) [ FunctionCall #533, TryCatchClause #535, TryCatchClause #540, TryCatchClause #545, TryCatchClause #547 ] + firstChild: FunctionCall #533 + lastChild: TryCatchClause #547 + previousSibling: VariableDeclarationStatement #530 + nextSibling: InlineAssembly #549 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #516 - id: 516 + FunctionCall #533 + id: 533 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: MemberAccess #515 + vExpression: MemberAccess #532 vArguments: Array(0) context: ASTContext #1000 - parent: TryStatement #531 - children: Array(1) [ MemberAccess #515 ] + parent: TryStatement #548 + children: Array(1) [ MemberAccess #532 ] vIdentifier: "cp" vMemberName: "test" vFunctionCallType: "userDefined" - vReferencedDeclaration: FunctionDefinition #451 + vReferencedDeclaration: FunctionDefinition #468 referencedCanonicalSignature: "test()" referencedCanonicalSignatureHash: "f8a8fd6d" vFunctionName: "test" - vCallee: MemberAccess #515 - firstChild: MemberAccess #515 - lastChild: MemberAccess #515 + vCallee: MemberAccess #532 + firstChild: MemberAccess #532 + lastChild: MemberAccess #532 previousSibling: undefined - nextSibling: TryCatchClause #518 - root: SourceUnit #607 + nextSibling: TryCatchClause #535 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #515 - id: 515 + MemberAccess #532 + id: 532 src: "0:0:0" type: "MemberAccess" typeString: "function () external" - vExpression: Identifier #514 + vExpression: Identifier #531 memberName: "test" - referencedDeclaration: 451 + referencedDeclaration: 468 context: ASTContext #1000 - parent: FunctionCall #516 - children: Array(1) [ Identifier #514 ] - vReferencedDeclaration: FunctionDefinition #451 - firstChild: Identifier #514 - lastChild: Identifier #514 + parent: FunctionCall #533 + children: Array(1) [ Identifier #531 ] + vReferencedDeclaration: FunctionDefinition #468 + firstChild: Identifier #531 + lastChild: Identifier #531 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #514 - id: 514 + Identifier #531 + id: 531 src: "0:0:0" type: "Identifier" typeString: "contract CatchPanic" name: "cp" - referencedDeclaration: 508 + referencedDeclaration: 525 context: ASTContext #1000 - parent: MemberAccess #515 - vReferencedDeclaration: VariableDeclaration #508 + parent: MemberAccess #532 + vReferencedDeclaration: VariableDeclaration #525 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #518 - id: 518 + TryCatchClause #535 + id: 535 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "" vParameters: undefined - vBlock: Block #517 + vBlock: Block #534 context: ASTContext #1000 - parent: TryStatement #531 - children: Array(1) [ Block #517 ] - firstChild: Block #517 - lastChild: Block #517 - previousSibling: FunctionCall #516 - nextSibling: TryCatchClause #523 - root: SourceUnit #607 + parent: TryStatement #548 + children: Array(1) [ Block #534 ] + firstChild: Block #534 + lastChild: Block #534 + previousSibling: FunctionCall #533 + nextSibling: TryCatchClause #540 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #517 - id: 517 + Block #534 + id: 534 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #518 + parent: TryCatchClause #535 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #523 - id: 523 + TryCatchClause #540 + id: 540 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "Error" - vParameters: ParameterList #522 - vBlock: Block #519 + vParameters: ParameterList #539 + vBlock: Block #536 context: ASTContext #1000 - parent: TryStatement #531 - children: Array(2) [ ParameterList #522, Block #519 ] - firstChild: ParameterList #522 - lastChild: Block #519 - previousSibling: TryCatchClause #518 - nextSibling: TryCatchClause #528 - root: SourceUnit #607 + parent: TryStatement #548 + children: Array(2) [ ParameterList #539, Block #536 ] + firstChild: ParameterList #539 + lastChild: Block #536 + previousSibling: TryCatchClause #535 + nextSibling: TryCatchClause #545 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #522 - id: 522 + ParameterList #539 + id: 539 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: TryCatchClause #523 - vParameters: Array(1) [ VariableDeclaration #521 ] - children: Array(1) [ VariableDeclaration #521 ] - firstChild: VariableDeclaration #521 - lastChild: VariableDeclaration #521 + parent: TryCatchClause #540 + vParameters: Array(1) [ VariableDeclaration #538 ] + children: Array(1) [ VariableDeclaration #538 ] + firstChild: VariableDeclaration #538 + lastChild: VariableDeclaration #538 previousSibling: undefined - nextSibling: Block #519 - root: SourceUnit #607 + nextSibling: Block #536 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #521 - id: 521 + VariableDeclaration #538 + id: 538 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "reason" - scope: 523 + scope: 540 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -4191,97 +4191,97 @@ SourceUnit #607 typeString: "string" documentation: undefined nameLocation: "2854:6:0" - vType: ElementaryTypeName #520 + vType: ElementaryTypeName #537 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #522 - children: Array(1) [ ElementaryTypeName #520 ] - vScope: TryCatchClause #523 + parent: ParameterList #539 + children: Array(1) [ ElementaryTypeName #537 ] + vScope: TryCatchClause #540 canonicalSignatureType: "string" getterCanonicalSignature: "reason()" getterCanonicalSignatureHash: "e134e33d" - firstChild: ElementaryTypeName #520 - lastChild: ElementaryTypeName #520 + firstChild: ElementaryTypeName #537 + lastChild: ElementaryTypeName #537 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #520 - id: 520 + ElementaryTypeName #537 + id: 537 src: "0:0:0" type: "ElementaryTypeName" typeString: "string" name: "string" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #521 + parent: VariableDeclaration #538 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #519 - id: 519 + Block #536 + id: 536 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #523 + parent: TryCatchClause #540 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #522 + previousSibling: ParameterList #539 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #528 - id: 528 + TryCatchClause #545 + id: 545 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "Panic" - vParameters: ParameterList #527 - vBlock: Block #524 + vParameters: ParameterList #544 + vBlock: Block #541 context: ASTContext #1000 - parent: TryStatement #531 - children: Array(2) [ ParameterList #527, Block #524 ] - firstChild: ParameterList #527 - lastChild: Block #524 - previousSibling: TryCatchClause #523 - nextSibling: TryCatchClause #530 - root: SourceUnit #607 + parent: TryStatement #548 + children: Array(2) [ ParameterList #544, Block #541 ] + firstChild: ParameterList #544 + lastChild: Block #541 + previousSibling: TryCatchClause #540 + nextSibling: TryCatchClause #547 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #527 - id: 527 + ParameterList #544 + id: 544 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: TryCatchClause #528 - vParameters: Array(1) [ VariableDeclaration #526 ] - children: Array(1) [ VariableDeclaration #526 ] - firstChild: VariableDeclaration #526 - lastChild: VariableDeclaration #526 + parent: TryCatchClause #545 + vParameters: Array(1) [ VariableDeclaration #543 ] + children: Array(1) [ VariableDeclaration #543 ] + firstChild: VariableDeclaration #543 + lastChild: VariableDeclaration #543 previousSibling: undefined - nextSibling: Block #524 - root: SourceUnit #607 + nextSibling: Block #541 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #526 - id: 526 + VariableDeclaration #543 + id: 543 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "_code" - scope: 528 + scope: 545 stateVariable: false storageLocation: "default" visibility: "internal" @@ -4289,92 +4289,92 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "2990:5:0" - vType: ElementaryTypeName #525 + vType: ElementaryTypeName #542 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #527 - children: Array(1) [ ElementaryTypeName #525 ] - vScope: TryCatchClause #528 + parent: ParameterList #544 + children: Array(1) [ ElementaryTypeName #542 ] + vScope: TryCatchClause #545 canonicalSignatureType: "uint256" getterCanonicalSignature: "_code()" getterCanonicalSignatureHash: "8d1841e3" - firstChild: ElementaryTypeName #525 - lastChild: ElementaryTypeName #525 + firstChild: ElementaryTypeName #542 + lastChild: ElementaryTypeName #542 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #525 - id: 525 + ElementaryTypeName #542 + id: 542 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #526 + parent: VariableDeclaration #543 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #524 - id: 524 + Block #541 + id: 541 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #528 + parent: TryCatchClause #545 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #527 + previousSibling: ParameterList #544 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - TryCatchClause #530 - id: 530 + TryCatchClause #547 + id: 547 src: "0:0:0" type: "TryCatchClause" documentation: undefined errorName: "" vParameters: undefined - vBlock: Block #529 + vBlock: Block #546 context: ASTContext #1000 - parent: TryStatement #531 - children: Array(1) [ Block #529 ] - firstChild: Block #529 - lastChild: Block #529 - previousSibling: TryCatchClause #528 + parent: TryStatement #548 + children: Array(1) [ Block #546 ] + firstChild: Block #546 + lastChild: Block #546 + previousSibling: TryCatchClause #545 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #529 - id: 529 + Block #546 + id: 546 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: TryCatchClause #530 + parent: TryCatchClause #547 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - InlineAssembly #532 - id: 532 + InlineAssembly #549 + id: 549 src: "0:0:0" type: "InlineAssembly" documentation: "InlineAssembly docstring" @@ -4382,108 +4382,108 @@ SourceUnit #607 operations: undefined yul: Object { nodeType: "YulBlock", src: "3235:2:0", statements: Array(0) } context: ASTContext #1000 - parent: Block #535 + parent: Block #552 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: TryStatement #531 - nextSibling: UncheckedBlock #533 - root: SourceUnit #607 + previousSibling: TryStatement #548 + nextSibling: UncheckedBlock #550 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - UncheckedBlock #533 - id: 533 + UncheckedBlock #550 + id: 550 src: "0:0:0" type: "UncheckedBlock" documentation: "UncheckedBlock docstring" context: ASTContext #1000 - parent: Block #535 + parent: Block #552 vStatements: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: InlineAssembly #532 - nextSibling: Return #534 - root: SourceUnit #607 + previousSibling: InlineAssembly #549 + nextSibling: Return #551 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #534 - id: 534 + Return #551 + id: 551 src: "0:0:0" type: "Return" documentation: "Return docstring" functionReturnParameters: 157 vExpression: undefined context: ASTContext #1000 - parent: Block #535 + parent: Block #552 children: Array(0) vFunctionReturnParameters: ParameterList #157 firstChild: undefined lastChild: undefined - previousSibling: UncheckedBlock #533 + previousSibling: UncheckedBlock #550 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ErrorDefinition #542 - id: 542 + ErrorDefinition #559 + id: 559 src: "0:0:0" type: "ErrorDefinition" name: "UnitLevelError084" - documentation: StructuredDocumentation #541 + documentation: StructuredDocumentation #558 nameLocation: "3393:17:0" - vParameters: ParameterList #540 + vParameters: ParameterList #557 context: ASTContext #1000 - parent: SourceUnit #607 - children: Array(2) [ StructuredDocumentation #541, ParameterList #540 ] - vScope: SourceUnit #607 + parent: SourceUnit #641 + children: Array(2) [ StructuredDocumentation #558, ParameterList #557 ] + vScope: SourceUnit #641 canonicalSignature: "UnitLevelError084(uint256)" canonicalSignatureHash: "1d365080" - firstChild: StructuredDocumentation #541 - lastChild: ParameterList #540 - previousSibling: ContractDefinition #537 - nextSibling: ContractDefinition #548 - root: SourceUnit #607 + firstChild: StructuredDocumentation #558 + lastChild: ParameterList #557 + previousSibling: ContractDefinition #554 + nextSibling: ContractDefinition #565 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - StructuredDocumentation #541 - id: 541 + StructuredDocumentation #558 + id: 558 src: "0:0:0" type: "StructuredDocumentation" text: "UnitLevelError error docstring" context: ASTContext #1000 - parent: ErrorDefinition #542 + parent: ErrorDefinition #559 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #540 - root: SourceUnit #607 + nextSibling: ParameterList #557 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #540 - id: 540 + ParameterList #557 + id: 557 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: ErrorDefinition #542 - vParameters: Array(1) [ VariableDeclaration #539 ] - children: Array(1) [ VariableDeclaration #539 ] - firstChild: VariableDeclaration #539 - lastChild: VariableDeclaration #539 - previousSibling: StructuredDocumentation #541 + parent: ErrorDefinition #559 + vParameters: Array(1) [ VariableDeclaration #556 ] + children: Array(1) [ VariableDeclaration #556 ] + firstChild: VariableDeclaration #556 + lastChild: VariableDeclaration #556 + previousSibling: StructuredDocumentation #558 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #539 - id: 539 + VariableDeclaration #556 + id: 556 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "code" - scope: 542 + scope: 559 stateVariable: false storageLocation: "default" visibility: "internal" @@ -4491,137 +4491,137 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "3416:4:0" - vType: ElementaryTypeName #538 + vType: ElementaryTypeName #555 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #540 - children: Array(1) [ ElementaryTypeName #538 ] - vScope: ErrorDefinition #542 + parent: ParameterList #557 + children: Array(1) [ ElementaryTypeName #555 ] + vScope: ErrorDefinition #559 canonicalSignatureType: "uint256" getterCanonicalSignature: "code()" getterCanonicalSignatureHash: "24c12bf6" - firstChild: ElementaryTypeName #538 - lastChild: ElementaryTypeName #538 + firstChild: ElementaryTypeName #555 + lastChild: ElementaryTypeName #555 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #538 - id: 538 + ElementaryTypeName #555 + id: 555 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #539 + parent: VariableDeclaration #556 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #548 - id: 548 + ContractDefinition #565 + id: 565 src: "0:0:0" type: "ContractDefinition" name: "LibErrors084" - scope: 607 + scope: 641 kind: "library" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 548 ] - usedErrors: Array(1) [ 547 ] + linearizedBaseContracts: Array(1) [ 565 ] + usedErrors: Array(1) [ 564 ] docString: undefined nameLocation: "3432:12:0" context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 documentation: undefined - vScope: SourceUnit #607 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #548 ] - vUsedErrors: Array(1) [ ErrorDefinition #547 ] + vScope: SourceUnit #641 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #565 ] + vUsedErrors: Array(1) [ ErrorDefinition #564 ] vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) - vErrors: Array(1) [ ErrorDefinition #547 ] + vErrors: Array(1) [ ErrorDefinition #564 ] vFunctions: Array(0) vUsingForDirectives: Array(0) vStructs: Array(0) vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(1) [ ErrorDefinition #547 ] - firstChild: ErrorDefinition #547 - lastChild: ErrorDefinition #547 - previousSibling: ErrorDefinition #542 - nextSibling: ContractDefinition #606 - root: SourceUnit #607 + children: Array(1) [ ErrorDefinition #564 ] + firstChild: ErrorDefinition #564 + lastChild: ErrorDefinition #564 + previousSibling: ErrorDefinition #559 + nextSibling: ContractDefinition #623 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ErrorDefinition #547 - id: 547 + ErrorDefinition #564 + id: 564 src: "0:0:0" type: "ErrorDefinition" name: "Lib" - documentation: StructuredDocumentation #546 + documentation: StructuredDocumentation #563 nameLocation: "3498:3:0" - vParameters: ParameterList #545 + vParameters: ParameterList #562 context: ASTContext #1000 - parent: ContractDefinition #548 - children: Array(2) [ StructuredDocumentation #546, ParameterList #545 ] - vScope: ContractDefinition #548 + parent: ContractDefinition #565 + children: Array(2) [ StructuredDocumentation #563, ParameterList #562 ] + vScope: ContractDefinition #565 canonicalSignature: "Lib(bytes)" canonicalSignatureHash: "5df9f479" - firstChild: StructuredDocumentation #546 - lastChild: ParameterList #545 + firstChild: StructuredDocumentation #563 + lastChild: ParameterList #562 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - StructuredDocumentation #546 - id: 546 + StructuredDocumentation #563 + id: 563 src: "0:0:0" type: "StructuredDocumentation" text: "LibErrors084.Lib error docstring" context: ASTContext #1000 - parent: ErrorDefinition #547 + parent: ErrorDefinition #564 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #545 - root: SourceUnit #607 + nextSibling: ParameterList #562 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #545 - id: 545 + ParameterList #562 + id: 562 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: ErrorDefinition #547 - vParameters: Array(1) [ VariableDeclaration #544 ] - children: Array(1) [ VariableDeclaration #544 ] - firstChild: VariableDeclaration #544 - lastChild: VariableDeclaration #544 - previousSibling: StructuredDocumentation #546 + parent: ErrorDefinition #564 + vParameters: Array(1) [ VariableDeclaration #561 ] + children: Array(1) [ VariableDeclaration #561 ] + firstChild: VariableDeclaration #561 + lastChild: VariableDeclaration #561 + previousSibling: StructuredDocumentation #563 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #544 - id: 544 + VariableDeclaration #561 + id: 561 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "b" - scope: 547 + scope: 564 stateVariable: false storageLocation: "default" visibility: "internal" @@ -4629,136 +4629,136 @@ SourceUnit #607 typeString: "bytes" documentation: undefined nameLocation: "3508:1:0" - vType: ElementaryTypeName #543 + vType: ElementaryTypeName #560 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #545 - children: Array(1) [ ElementaryTypeName #543 ] - vScope: ErrorDefinition #547 + parent: ParameterList #562 + children: Array(1) [ ElementaryTypeName #560 ] + vScope: ErrorDefinition #564 canonicalSignatureType: "bytes" getterCanonicalSignature: "b()" getterCanonicalSignatureHash: "4df7e3d0" - firstChild: ElementaryTypeName #543 - lastChild: ElementaryTypeName #543 + firstChild: ElementaryTypeName #560 + lastChild: ElementaryTypeName #560 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #543 - id: 543 + ElementaryTypeName #560 + id: 560 src: "0:0:0" type: "ElementaryTypeName" typeString: "bytes" name: "bytes" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #544 + parent: VariableDeclaration #561 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #606 - id: 606 + ContractDefinition #623 + id: 623 src: "0:0:0" type: "ContractDefinition" name: "Features084" - scope: 607 + scope: 641 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 606 ] - usedErrors: Array(3) [ 542, 547, 551 ] + linearizedBaseContracts: Array(1) [ 623 ] + usedErrors: Array(3) [ 559, 564, 568 ] docString: undefined nameLocation: "3524:11:0" context: ASTContext #1000 - parent: SourceUnit #607 + parent: SourceUnit #641 documentation: undefined - vScope: SourceUnit #607 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #606 ] - vUsedErrors: Array(3) [ ErrorDefinition #542, ErrorDefinition #547, ErrorDefinition #551 ] + vScope: SourceUnit #641 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #623 ] + vUsedErrors: Array(3) [ ErrorDefinition #559, ErrorDefinition #564, ErrorDefinition #568 ] vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) - vErrors: Array(1) [ ErrorDefinition #551 ] - vFunctions: Array(6) [ FunctionDefinition #556, FunctionDefinition #573, FunctionDefinition #581, FunctionDefinition #590, FunctionDefinition #597, FunctionDefinition #605 ] + vErrors: Array(1) [ ErrorDefinition #568 ] + vFunctions: Array(6) [ FunctionDefinition #573, FunctionDefinition #590, FunctionDefinition #598, FunctionDefinition #607, FunctionDefinition #614, FunctionDefinition #622 ] vUsingForDirectives: Array(0) vStructs: Array(0) vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(7) [ ErrorDefinition #551, FunctionDefinition #556, FunctionDefinition #573, FunctionDefinition #581, FunctionDefinition #590, FunctionDefinition #597, FunctionDefinition #605 ] - firstChild: ErrorDefinition #551 - lastChild: FunctionDefinition #605 - previousSibling: ContractDefinition #548 - nextSibling: undefined - root: SourceUnit #607 + children: Array(7) [ ErrorDefinition #568, FunctionDefinition #573, FunctionDefinition #590, FunctionDefinition #598, FunctionDefinition #607, FunctionDefinition #614, FunctionDefinition #622 ] + firstChild: ErrorDefinition #568 + lastChild: FunctionDefinition #622 + previousSibling: ContractDefinition #565 + nextSibling: ContractDefinition #640 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ErrorDefinition #551 - id: 551 + ErrorDefinition #568 + id: 568 src: "0:0:0" type: "ErrorDefinition" name: "Own" - documentation: StructuredDocumentation #550 + documentation: StructuredDocumentation #567 nameLocation: "3588:3:0" - vParameters: ParameterList #549 + vParameters: ParameterList #566 context: ASTContext #1000 - parent: ContractDefinition #606 - children: Array(2) [ StructuredDocumentation #550, ParameterList #549 ] - vScope: ContractDefinition #606 + parent: ContractDefinition #623 + children: Array(2) [ StructuredDocumentation #567, ParameterList #566 ] + vScope: ContractDefinition #623 canonicalSignature: "Own()" canonicalSignatureHash: "dc846d95" - firstChild: StructuredDocumentation #550 - lastChild: ParameterList #549 + firstChild: StructuredDocumentation #567 + lastChild: ParameterList #566 previousSibling: undefined - nextSibling: FunctionDefinition #556 - root: SourceUnit #607 + nextSibling: FunctionDefinition #573 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - StructuredDocumentation #550 - id: 550 + StructuredDocumentation #567 + id: 567 src: "0:0:0" type: "StructuredDocumentation" text: "Features084.Own error docstring" context: ASTContext #1000 - parent: ErrorDefinition #551 + parent: ErrorDefinition #568 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #549 - root: SourceUnit #607 + nextSibling: ParameterList #566 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #549 - id: 549 + ParameterList #566 + id: 566 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: ErrorDefinition #551 + parent: ErrorDefinition #568 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: StructuredDocumentation #550 + previousSibling: StructuredDocumentation #567 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #556 - id: 556 + FunctionDefinition #573 + id: 573 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 606 + scope: 623 kind: "function" name: "testAssemblyHexLiterals" visibility: "public" @@ -4766,72 +4766,72 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "3609:23:0" - vParameters: ParameterList #552 - vReturnParameters: ParameterList #553 + vParameters: ParameterList #569 + vReturnParameters: ParameterList #570 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #555 + vBody: Block #572 context: ASTContext #1000 - parent: ContractDefinition #606 - children: Array(3) [ ParameterList #552, ParameterList #553, Block #555 ] - vScope: ContractDefinition #606 + parent: ContractDefinition #623 + children: Array(3) [ ParameterList #569, ParameterList #570, Block #572 ] + vScope: ContractDefinition #623 canonicalSignature: "testAssemblyHexLiterals()" canonicalSignatureHash: "9fdd8b80" - firstChild: ParameterList #552 - lastChild: Block #555 - previousSibling: ErrorDefinition #551 - nextSibling: FunctionDefinition #573 - root: SourceUnit #607 + firstChild: ParameterList #569 + lastChild: Block #572 + previousSibling: ErrorDefinition #568 + nextSibling: FunctionDefinition #590 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #552 - id: 552 + ParameterList #569 + id: 569 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #556 + parent: FunctionDefinition #573 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #553 - root: SourceUnit #607 + nextSibling: ParameterList #570 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #553 - id: 553 + ParameterList #570 + id: 570 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #556 + parent: FunctionDefinition #573 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #552 - nextSibling: Block #555 - root: SourceUnit #607 + previousSibling: ParameterList #569 + nextSibling: Block #572 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #555 - id: 555 + Block #572 + id: 572 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #556 - vStatements: Array(1) [ InlineAssembly #554 ] - children: Array(1) [ InlineAssembly #554 ] - firstChild: InlineAssembly #554 - lastChild: InlineAssembly #554 - previousSibling: ParameterList #553 + parent: FunctionDefinition #573 + vStatements: Array(1) [ InlineAssembly #571 ] + children: Array(1) [ InlineAssembly #571 ] + firstChild: InlineAssembly #571 + lastChild: InlineAssembly #571 + previousSibling: ParameterList #570 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - InlineAssembly #554 - id: 554 + InlineAssembly #571 + id: 571 src: "0:0:0" type: "InlineAssembly" documentation: undefined @@ -4839,22 +4839,22 @@ SourceUnit #607 operations: undefined yul: Object { nodeType: "YulBlock", src: "3661:221:0", statements: Array(6) [ Object { nodeType: "YulVariableDeclaration", src: "3675:15:0", value: Object { hexValue: "74657374", kind: "string", nodeType: "YulLiteral", src: "3684:6:0", type: "", value: "test" }, variables: Array(1) [ Object { name: "a", nodeType: "YulTypedName", src: "3679:1:0", type: "" } ] }, Object { nodeType: "YulVariableDeclaration", src: "3703:54:0", value: Object { hexValue: "112233445566778899aabbccddeeff6677889900", kind: "string", nodeType: "YulLiteral", src: "3712:45:0", type: "" }, variables: Array(1) [ Object { name: "x", nodeType: "YulTypedName", src: "3707:1:0", type: "" } ] }, Object { nodeType: "YulVariableDeclaration", src: "3770:23:0", value: Object { hexValue: "1234abcd", kind: "string", nodeType: "YulLiteral", src: "3779:14:0", type: "" }, variables: Array(1) [ Object { name: "y", nodeType: "YulTypedName", src: "3774:1:0", type: "" } ] }, Object { expression: Object { arguments: Array(2) [ Object { kind: "number", nodeType: "YulLiteral", src: "3814:1:0", type: "", value: "0" }, Object { name: "x", nodeType: "YulIdentifier", src: "3817:1:0" } ], functionName: Object { name: "sstore", nodeType: "YulIdentifier", src: "3807:6:0" }, nodeType: "YulFunctionCall", src: "3807:12:0" }, nodeType: "YulExpressionStatement", src: "3807:12:0" }, Object { expression: Object { arguments: Array(2) [ Object { kind: "number", nodeType: "YulLiteral", src: "3839:1:0", type: "", value: "1" }, Object { name: "y", nodeType: "YulIdentifier", src: "3842:1:0" } ], functionName: Object { name: "sstore", nodeType: "YulIdentifier", src: "3832:6:0" }, nodeType: "YulFunctionCall", src: "3832:12:0" }, nodeType: "YulExpressionStatement", src: "3832:12:0" }, Object { expression: Object { arguments: Array(1) [ Object { hexValue: "2233", kind: "string", nodeType: "YulLiteral", src: "3862:9:0", type: "", value: "\"3" } ], functionName: Object { name: "pop", nodeType: "YulIdentifier", src: "3858:3:0" }, nodeType: "YulFunctionCall", src: "3858:14:0" }, nodeType: "YulExpressionStatement", src: "3858:14:0" } ] } context: ASTContext #1000 - parent: Block #555 + parent: Block #572 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #573 - id: 573 + FunctionDefinition #590 + id: 590 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 606 + scope: 623 kind: "function" name: "testBytesConcatBuiltin" visibility: "public" @@ -4862,47 +4862,47 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "3903:22:0" - vParameters: ParameterList #561 - vReturnParameters: ParameterList #564 + vParameters: ParameterList #578 + vReturnParameters: ParameterList #581 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #572 + vBody: Block #589 context: ASTContext #1000 - parent: ContractDefinition #606 - children: Array(3) [ ParameterList #561, ParameterList #564, Block #572 ] - vScope: ContractDefinition #606 + parent: ContractDefinition #623 + children: Array(3) [ ParameterList #578, ParameterList #581, Block #589 ] + vScope: ContractDefinition #623 canonicalSignature: "testBytesConcatBuiltin(bytes,bytes)" canonicalSignatureHash: "e65caad5" - firstChild: ParameterList #561 - lastChild: Block #572 - previousSibling: FunctionDefinition #556 - nextSibling: FunctionDefinition #581 - root: SourceUnit #607 + firstChild: ParameterList #578 + lastChild: Block #589 + previousSibling: FunctionDefinition #573 + nextSibling: FunctionDefinition #598 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #561 - id: 561 + ParameterList #578 + id: 578 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #573 - vParameters: Array(2) [ VariableDeclaration #558, VariableDeclaration #560 ] - children: Array(2) [ VariableDeclaration #558, VariableDeclaration #560 ] - firstChild: VariableDeclaration #558 - lastChild: VariableDeclaration #560 + parent: FunctionDefinition #590 + vParameters: Array(2) [ VariableDeclaration #575, VariableDeclaration #577 ] + children: Array(2) [ VariableDeclaration #575, VariableDeclaration #577 ] + firstChild: VariableDeclaration #575 + lastChild: VariableDeclaration #577 previousSibling: undefined - nextSibling: ParameterList #564 - root: SourceUnit #607 + nextSibling: ParameterList #581 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #558 - id: 558 + VariableDeclaration #575 + id: 575 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "a" - scope: 573 + scope: 590 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -4910,48 +4910,48 @@ SourceUnit #607 typeString: "bytes" documentation: undefined nameLocation: "3939:1:0" - vType: ElementaryTypeName #557 + vType: ElementaryTypeName #574 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #561 - children: Array(1) [ ElementaryTypeName #557 ] - vScope: FunctionDefinition #573 + parent: ParameterList #578 + children: Array(1) [ ElementaryTypeName #574 ] + vScope: FunctionDefinition #590 canonicalSignatureType: "bytes" getterCanonicalSignature: "a()" getterCanonicalSignatureHash: "0dbe671f" - firstChild: ElementaryTypeName #557 - lastChild: ElementaryTypeName #557 + firstChild: ElementaryTypeName #574 + lastChild: ElementaryTypeName #574 previousSibling: undefined - nextSibling: VariableDeclaration #560 - root: SourceUnit #607 + nextSibling: VariableDeclaration #577 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #557 - id: 557 + ElementaryTypeName #574 + id: 574 src: "0:0:0" type: "ElementaryTypeName" typeString: "bytes" name: "bytes" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #558 + parent: VariableDeclaration #575 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #560 - id: 560 + VariableDeclaration #577 + id: 577 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "b" - scope: 573 + scope: 590 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -4959,63 +4959,63 @@ SourceUnit #607 typeString: "bytes" documentation: undefined nameLocation: "3955:1:0" - vType: ElementaryTypeName #559 + vType: ElementaryTypeName #576 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #561 - children: Array(1) [ ElementaryTypeName #559 ] - vScope: FunctionDefinition #573 + parent: ParameterList #578 + children: Array(1) [ ElementaryTypeName #576 ] + vScope: FunctionDefinition #590 canonicalSignatureType: "bytes" getterCanonicalSignature: "b()" getterCanonicalSignatureHash: "4df7e3d0" - firstChild: ElementaryTypeName #559 - lastChild: ElementaryTypeName #559 - previousSibling: VariableDeclaration #558 + firstChild: ElementaryTypeName #576 + lastChild: ElementaryTypeName #576 + previousSibling: VariableDeclaration #575 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #559 - id: 559 + ElementaryTypeName #576 + id: 576 src: "0:0:0" type: "ElementaryTypeName" typeString: "bytes" name: "bytes" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #560 + parent: VariableDeclaration #577 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #564 - id: 564 + ParameterList #581 + id: 581 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #573 - vParameters: Array(1) [ VariableDeclaration #563 ] - children: Array(1) [ VariableDeclaration #563 ] - firstChild: VariableDeclaration #563 - lastChild: VariableDeclaration #563 - previousSibling: ParameterList #561 - nextSibling: Block #572 - root: SourceUnit #607 + parent: FunctionDefinition #590 + vParameters: Array(1) [ VariableDeclaration #580 ] + children: Array(1) [ VariableDeclaration #580 ] + firstChild: VariableDeclaration #580 + lastChild: VariableDeclaration #580 + previousSibling: ParameterList #578 + nextSibling: Block #589 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #563 - id: 563 + VariableDeclaration #580 + id: 580 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "c" - scope: 573 + scope: 590 stateVariable: false storageLocation: "memory" visibility: "internal" @@ -5023,86 +5023,86 @@ SourceUnit #607 typeString: "bytes" documentation: undefined nameLocation: "3992:1:0" - vType: ElementaryTypeName #562 + vType: ElementaryTypeName #579 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #564 - children: Array(1) [ ElementaryTypeName #562 ] - vScope: FunctionDefinition #573 + parent: ParameterList #581 + children: Array(1) [ ElementaryTypeName #579 ] + vScope: FunctionDefinition #590 canonicalSignatureType: "bytes" getterCanonicalSignature: "c()" getterCanonicalSignatureHash: "c3da42b8" - firstChild: ElementaryTypeName #562 - lastChild: ElementaryTypeName #562 + firstChild: ElementaryTypeName #579 + lastChild: ElementaryTypeName #579 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #562 - id: 562 + ElementaryTypeName #579 + id: 579 src: "0:0:0" type: "ElementaryTypeName" typeString: "bytes" name: "bytes" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #563 + parent: VariableDeclaration #580 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #572 - id: 572 + Block #589 + id: 589 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #573 - vStatements: Array(1) [ Return #571 ] - children: Array(1) [ Return #571 ] - firstChild: Return #571 - lastChild: Return #571 - previousSibling: ParameterList #564 + parent: FunctionDefinition #590 + vStatements: Array(1) [ Return #588 ] + children: Array(1) [ Return #588 ] + firstChild: Return #588 + lastChild: Return #588 + previousSibling: ParameterList #581 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #571 - id: 571 + Return #588 + id: 588 src: "0:0:0" type: "Return" documentation: undefined functionReturnParameters: 253 - vExpression: FunctionCall #570 + vExpression: FunctionCall #587 context: ASTContext #1000 - parent: Block #572 - children: Array(1) [ FunctionCall #570 ] + parent: Block #589 + children: Array(1) [ FunctionCall #587 ] vFunctionReturnParameters: ParameterList #253 - firstChild: FunctionCall #570 - lastChild: FunctionCall #570 + firstChild: FunctionCall #587 + lastChild: FunctionCall #587 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #570 - id: 570 + FunctionCall #587 + id: 587 src: "0:0:0" type: "FunctionCall" typeString: "bytes memory" kind: "functionCall" fieldNames: undefined - vExpression: MemberAccess #567 - vArguments: Array(2) [ Identifier #568, Identifier #569 ] + vExpression: MemberAccess #584 + vArguments: Array(2) [ Identifier #585, Identifier #586 ] context: ASTContext #1000 - parent: Return #571 - children: Array(3) [ MemberAccess #567, Identifier #568, Identifier #569 ] + parent: Return #588 + children: Array(3) [ MemberAccess #584, Identifier #585, Identifier #586 ] vIdentifier: undefined vMemberName: "concat" vFunctionCallType: "builtin" @@ -5110,111 +5110,111 @@ SourceUnit #607 referencedCanonicalSignature: undefined referencedCanonicalSignatureHash: undefined vFunctionName: "concat" - vCallee: MemberAccess #567 - firstChild: MemberAccess #567 - lastChild: Identifier #569 + vCallee: MemberAccess #584 + firstChild: MemberAccess #584 + lastChild: Identifier #586 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #567 - id: 567 + MemberAccess #584 + id: 584 src: "0:0:0" type: "MemberAccess" typeString: "function () pure returns (bytes memory)" - vExpression: ElementaryTypeNameExpression #566 + vExpression: ElementaryTypeNameExpression #583 memberName: "concat" referencedDeclaration: undefined context: ASTContext #1000 - parent: FunctionCall #570 - children: Array(1) [ ElementaryTypeNameExpression #566 ] + parent: FunctionCall #587 + children: Array(1) [ ElementaryTypeNameExpression #583 ] vReferencedDeclaration: undefined - firstChild: ElementaryTypeNameExpression #566 - lastChild: ElementaryTypeNameExpression #566 + firstChild: ElementaryTypeNameExpression #583 + lastChild: ElementaryTypeNameExpression #583 previousSibling: undefined - nextSibling: Identifier #568 - root: SourceUnit #607 + nextSibling: Identifier #585 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeNameExpression #566 - id: 566 + ElementaryTypeNameExpression #583 + id: 583 src: "0:0:0" type: "ElementaryTypeNameExpression" typeString: "type(bytes storage pointer)" - typeName: ElementaryTypeName #565 + typeName: ElementaryTypeName #582 context: ASTContext #1000 - parent: MemberAccess #567 - children: Array(1) [ ElementaryTypeName #565 ] - firstChild: ElementaryTypeName #565 - lastChild: ElementaryTypeName #565 + parent: MemberAccess #584 + children: Array(1) [ ElementaryTypeName #582 ] + firstChild: ElementaryTypeName #582 + lastChild: ElementaryTypeName #582 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #565 - id: 565 + ElementaryTypeName #582 + id: 582 src: "0:0:0" type: "ElementaryTypeName" typeString: undefined name: "bytes" stateMutability: "nonpayable" context: ASTContext #1000 - parent: ElementaryTypeNameExpression #566 + parent: ElementaryTypeNameExpression #583 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #568 - id: 568 + Identifier #585 + id: 585 src: "0:0:0" type: "Identifier" typeString: "bytes memory" name: "a" - referencedDeclaration: 558 + referencedDeclaration: 575 context: ASTContext #1000 - parent: FunctionCall #570 - vReferencedDeclaration: VariableDeclaration #558 + parent: FunctionCall #587 + vReferencedDeclaration: VariableDeclaration #575 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: MemberAccess #567 - nextSibling: Identifier #569 - root: SourceUnit #607 + previousSibling: MemberAccess #584 + nextSibling: Identifier #586 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #569 - id: 569 + Identifier #586 + id: 586 src: "0:0:0" type: "Identifier" typeString: "bytes memory" name: "b" - referencedDeclaration: 560 + referencedDeclaration: 577 context: ASTContext #1000 - parent: FunctionCall #570 - vReferencedDeclaration: VariableDeclaration #560 + parent: FunctionCall #587 + vReferencedDeclaration: VariableDeclaration #577 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #568 + previousSibling: Identifier #585 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #581 - id: 581 + FunctionDefinition #598 + id: 598 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 606 + scope: 623 kind: "function" name: "testVariableDeclarationStatementDocString" visibility: "public" @@ -5222,96 +5222,96 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "4052:41:0" - vParameters: ParameterList #574 - vReturnParameters: ParameterList #575 + vParameters: ParameterList #591 + vReturnParameters: ParameterList #592 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #580 + vBody: Block #597 context: ASTContext #1000 - parent: ContractDefinition #606 - children: Array(3) [ ParameterList #574, ParameterList #575, Block #580 ] - vScope: ContractDefinition #606 + parent: ContractDefinition #623 + children: Array(3) [ ParameterList #591, ParameterList #592, Block #597 ] + vScope: ContractDefinition #623 canonicalSignature: "testVariableDeclarationStatementDocString()" canonicalSignatureHash: "810605b8" - firstChild: ParameterList #574 - lastChild: Block #580 - previousSibling: FunctionDefinition #573 - nextSibling: FunctionDefinition #590 - root: SourceUnit #607 + firstChild: ParameterList #591 + lastChild: Block #597 + previousSibling: FunctionDefinition #590 + nextSibling: FunctionDefinition #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #574 - id: 574 + ParameterList #591 + id: 591 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #581 + parent: FunctionDefinition #598 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #575 - root: SourceUnit #607 + nextSibling: ParameterList #592 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #575 - id: 575 + ParameterList #592 + id: 592 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #581 + parent: FunctionDefinition #598 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #574 - nextSibling: Block #580 - root: SourceUnit #607 + previousSibling: ParameterList #591 + nextSibling: Block #597 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #580 - id: 580 + Block #597 + id: 597 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #581 - vStatements: Array(1) [ VariableDeclarationStatement #579 ] - children: Array(1) [ VariableDeclarationStatement #579 ] - firstChild: VariableDeclarationStatement #579 - lastChild: VariableDeclarationStatement #579 - previousSibling: ParameterList #575 + parent: FunctionDefinition #598 + vStatements: Array(1) [ VariableDeclarationStatement #596 ] + children: Array(1) [ VariableDeclarationStatement #596 ] + firstChild: VariableDeclarationStatement #596 + lastChild: VariableDeclarationStatement #596 + previousSibling: ParameterList #592 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclarationStatement #579 - id: 579 + VariableDeclarationStatement #596 + id: 596 src: "0:0:0" type: "VariableDeclarationStatement" documentation: "VariableDeclarationStatement docstring" - assignments: Array(1) [ 577 ] - vDeclarations: Array(1) [ VariableDeclaration #577 ] - vInitialValue: Literal #578 + assignments: Array(1) [ 594 ] + vDeclarations: Array(1) [ VariableDeclaration #594 ] + vInitialValue: Literal #595 context: ASTContext #1000 - parent: Block #580 - children: Array(2) [ VariableDeclaration #577, Literal #578 ] - firstChild: VariableDeclaration #577 - lastChild: Literal #578 + parent: Block #597 + children: Array(2) [ VariableDeclaration #594, Literal #595 ] + firstChild: VariableDeclaration #594 + lastChild: Literal #595 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #577 - id: 577 + VariableDeclaration #594 + id: 594 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "a" - scope: 580 + scope: 597 stateVariable: false storageLocation: "default" visibility: "internal" @@ -5319,42 +5319,42 @@ SourceUnit #607 typeString: "uint256" documentation: undefined nameLocation: "4169:1:0" - vType: ElementaryTypeName #576 + vType: ElementaryTypeName #593 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #579 - children: Array(1) [ ElementaryTypeName #576 ] - vScope: Block #580 + parent: VariableDeclarationStatement #596 + children: Array(1) [ ElementaryTypeName #593 ] + vScope: Block #597 canonicalSignatureType: "uint256" getterCanonicalSignature: "a()" getterCanonicalSignatureHash: "0dbe671f" - firstChild: ElementaryTypeName #576 - lastChild: ElementaryTypeName #576 + firstChild: ElementaryTypeName #593 + lastChild: ElementaryTypeName #593 previousSibling: undefined - nextSibling: Literal #578 - root: SourceUnit #607 + nextSibling: Literal #595 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #576 - id: 576 + ElementaryTypeName #593 + id: 593 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #577 + parent: VariableDeclaration #594 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #578 - id: 578 + Literal #595 + id: 595 src: "0:0:0" type: "Literal" typeString: "int_const 10" @@ -5363,22 +5363,22 @@ SourceUnit #607 value: "10" subdenomination: undefined context: ASTContext #1000 - parent: VariableDeclarationStatement #579 + parent: VariableDeclarationStatement #596 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: VariableDeclaration #577 + previousSibling: VariableDeclaration #594 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #590 - id: 590 + FunctionDefinition #607 + id: 607 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 606 + scope: 623 kind: "function" name: "revertWithLib" visibility: "public" @@ -5386,153 +5386,153 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "4197:13:0" - vParameters: ParameterList #582 - vReturnParameters: ParameterList #583 + vParameters: ParameterList #599 + vReturnParameters: ParameterList #600 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #589 + vBody: Block #606 context: ASTContext #1000 - parent: ContractDefinition #606 - children: Array(3) [ ParameterList #582, ParameterList #583, Block #589 ] - vScope: ContractDefinition #606 + parent: ContractDefinition #623 + children: Array(3) [ ParameterList #599, ParameterList #600, Block #606 ] + vScope: ContractDefinition #623 canonicalSignature: "revertWithLib()" canonicalSignatureHash: "f1b5e6ed" - firstChild: ParameterList #582 - lastChild: Block #589 - previousSibling: FunctionDefinition #581 - nextSibling: FunctionDefinition #597 - root: SourceUnit #607 + firstChild: ParameterList #599 + lastChild: Block #606 + previousSibling: FunctionDefinition #598 + nextSibling: FunctionDefinition #614 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #582 - id: 582 + ParameterList #599 + id: 599 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #590 + parent: FunctionDefinition #607 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #583 - root: SourceUnit #607 + nextSibling: ParameterList #600 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #583 - id: 583 + ParameterList #600 + id: 600 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #590 + parent: FunctionDefinition #607 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #582 - nextSibling: Block #589 - root: SourceUnit #607 + previousSibling: ParameterList #599 + nextSibling: Block #606 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #589 - id: 589 + Block #606 + id: 606 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #590 - vStatements: Array(1) [ RevertStatement #588 ] - children: Array(1) [ RevertStatement #588 ] - firstChild: RevertStatement #588 - lastChild: RevertStatement #588 - previousSibling: ParameterList #583 + parent: FunctionDefinition #607 + vStatements: Array(1) [ RevertStatement #605 ] + children: Array(1) [ RevertStatement #605 ] + firstChild: RevertStatement #605 + lastChild: RevertStatement #605 + previousSibling: ParameterList #600 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - RevertStatement #588 - id: 588 + RevertStatement #605 + id: 605 src: "0:0:0" type: "RevertStatement" documentation: "RevertStatement docstring" - errorCall: FunctionCall #587 + errorCall: FunctionCall #604 context: ASTContext #1000 - parent: Block #589 - children: Array(1) [ FunctionCall #587 ] - firstChild: FunctionCall #587 - lastChild: FunctionCall #587 + parent: Block #606 + children: Array(1) [ FunctionCall #604 ] + firstChild: FunctionCall #604 + lastChild: FunctionCall #604 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #587 - id: 587 + FunctionCall #604 + id: 604 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: MemberAccess #585 - vArguments: Array(1) [ Literal #586 ] + vExpression: MemberAccess #602 + vArguments: Array(1) [ Literal #603 ] context: ASTContext #1000 - parent: RevertStatement #588 - children: Array(2) [ MemberAccess #585, Literal #586 ] + parent: RevertStatement #605 + children: Array(2) [ MemberAccess #602, Literal #603 ] vIdentifier: "LibErrors084" vMemberName: "Lib" vFunctionCallType: "userDefined" - vReferencedDeclaration: ErrorDefinition #547 + vReferencedDeclaration: ErrorDefinition #564 referencedCanonicalSignature: "Lib(bytes)" referencedCanonicalSignatureHash: "5df9f479" vFunctionName: "Lib" - vCallee: MemberAccess #585 - firstChild: MemberAccess #585 - lastChild: Literal #586 + vCallee: MemberAccess #602 + firstChild: MemberAccess #602 + lastChild: Literal #603 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - MemberAccess #585 - id: 585 + MemberAccess #602 + id: 602 src: "0:0:0" type: "MemberAccess" typeString: "function (bytes memory) pure" - vExpression: Identifier #584 + vExpression: Identifier #601 memberName: "Lib" - referencedDeclaration: 547 + referencedDeclaration: 564 context: ASTContext #1000 - parent: FunctionCall #587 - children: Array(1) [ Identifier #584 ] - vReferencedDeclaration: ErrorDefinition #547 - firstChild: Identifier #584 - lastChild: Identifier #584 + parent: FunctionCall #604 + children: Array(1) [ Identifier #601 ] + vReferencedDeclaration: ErrorDefinition #564 + firstChild: Identifier #601 + lastChild: Identifier #601 previousSibling: undefined - nextSibling: Literal #586 - root: SourceUnit #607 + nextSibling: Literal #603 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #584 - id: 584 + Identifier #601 + id: 601 src: "0:0:0" type: "Identifier" typeString: "type(library LibErrors084)" name: "LibErrors084" - referencedDeclaration: 548 + referencedDeclaration: 565 context: ASTContext #1000 - parent: MemberAccess #585 - vReferencedDeclaration: ContractDefinition #548 + parent: MemberAccess #602 + vReferencedDeclaration: ContractDefinition #565 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #586 - id: 586 + Literal #603 + id: 603 src: "0:0:0" type: "Literal" typeString: "literal_string hex\"001122\"" @@ -5541,22 +5541,22 @@ SourceUnit #607 value: "\u0000\u0011\"" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #587 + parent: FunctionCall #604 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: MemberAccess #585 + previousSibling: MemberAccess #602 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #597 - id: 597 + FunctionDefinition #614 + id: 614 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 606 + scope: 623 kind: "function" name: "revertWithOwn" visibility: "public" @@ -5564,139 +5564,139 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "4326:13:0" - vParameters: ParameterList #591 - vReturnParameters: ParameterList #592 + vParameters: ParameterList #608 + vReturnParameters: ParameterList #609 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #596 + vBody: Block #613 context: ASTContext #1000 - parent: ContractDefinition #606 - children: Array(3) [ ParameterList #591, ParameterList #592, Block #596 ] - vScope: ContractDefinition #606 + parent: ContractDefinition #623 + children: Array(3) [ ParameterList #608, ParameterList #609, Block #613 ] + vScope: ContractDefinition #623 canonicalSignature: "revertWithOwn()" canonicalSignatureHash: "bdc93894" - firstChild: ParameterList #591 - lastChild: Block #596 - previousSibling: FunctionDefinition #590 - nextSibling: FunctionDefinition #605 - root: SourceUnit #607 + firstChild: ParameterList #608 + lastChild: Block #613 + previousSibling: FunctionDefinition #607 + nextSibling: FunctionDefinition #622 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #591 - id: 591 + ParameterList #608 + id: 608 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #597 + parent: FunctionDefinition #614 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #592 - root: SourceUnit #607 + nextSibling: ParameterList #609 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #592 - id: 592 + ParameterList #609 + id: 609 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #597 + parent: FunctionDefinition #614 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #591 - nextSibling: Block #596 - root: SourceUnit #607 + previousSibling: ParameterList #608 + nextSibling: Block #613 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #596 - id: 596 + Block #613 + id: 613 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #597 - vStatements: Array(1) [ RevertStatement #595 ] - children: Array(1) [ RevertStatement #595 ] - firstChild: RevertStatement #595 - lastChild: RevertStatement #595 - previousSibling: ParameterList #592 + parent: FunctionDefinition #614 + vStatements: Array(1) [ RevertStatement #612 ] + children: Array(1) [ RevertStatement #612 ] + firstChild: RevertStatement #612 + lastChild: RevertStatement #612 + previousSibling: ParameterList #609 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - RevertStatement #595 - id: 595 + RevertStatement #612 + id: 612 src: "0:0:0" type: "RevertStatement" documentation: undefined - errorCall: FunctionCall #594 + errorCall: FunctionCall #611 context: ASTContext #1000 - parent: Block #596 - children: Array(1) [ FunctionCall #594 ] - firstChild: FunctionCall #594 - lastChild: FunctionCall #594 + parent: Block #613 + children: Array(1) [ FunctionCall #611 ] + firstChild: FunctionCall #611 + lastChild: FunctionCall #611 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #594 - id: 594 + FunctionCall #611 + id: 611 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #593 + vExpression: Identifier #610 vArguments: Array(0) context: ASTContext #1000 - parent: RevertStatement #595 - children: Array(1) [ Identifier #593 ] + parent: RevertStatement #612 + children: Array(1) [ Identifier #610 ] vIdentifier: "Own" vMemberName: undefined vFunctionCallType: "userDefined" - vReferencedDeclaration: ErrorDefinition #551 + vReferencedDeclaration: ErrorDefinition #568 referencedCanonicalSignature: "Own()" referencedCanonicalSignatureHash: "dc846d95" vFunctionName: "Own" - vCallee: Identifier #593 - firstChild: Identifier #593 - lastChild: Identifier #593 + vCallee: Identifier #610 + firstChild: Identifier #610 + lastChild: Identifier #610 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #593 - id: 593 + Identifier #610 + id: 610 src: "0:0:0" type: "Identifier" typeString: "function () pure" name: "Own" - referencedDeclaration: 551 + referencedDeclaration: 568 context: ASTContext #1000 - parent: FunctionCall #594 - vReferencedDeclaration: ErrorDefinition #551 + parent: FunctionCall #611 + vReferencedDeclaration: ErrorDefinition #568 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #605 - id: 605 + FunctionDefinition #622 + id: 622 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: false - scope: 606 + scope: 623 kind: "function" name: "revertWithUnitLevelError" visibility: "public" @@ -5704,134 +5704,134 @@ SourceUnit #607 isConstructor: false documentation: undefined nameLocation: "4393:24:0" - vParameters: ParameterList #598 - vReturnParameters: ParameterList #599 + vParameters: ParameterList #615 + vReturnParameters: ParameterList #616 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #604 + vBody: Block #621 context: ASTContext #1000 - parent: ContractDefinition #606 - children: Array(3) [ ParameterList #598, ParameterList #599, Block #604 ] - vScope: ContractDefinition #606 + parent: ContractDefinition #623 + children: Array(3) [ ParameterList #615, ParameterList #616, Block #621 ] + vScope: ContractDefinition #623 canonicalSignature: "revertWithUnitLevelError()" canonicalSignatureHash: "316d273c" - firstChild: ParameterList #598 - lastChild: Block #604 - previousSibling: FunctionDefinition #597 + firstChild: ParameterList #615 + lastChild: Block #621 + previousSibling: FunctionDefinition #614 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #598 - id: 598 + ParameterList #615 + id: 615 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #605 + parent: FunctionDefinition #622 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #599 - root: SourceUnit #607 + nextSibling: ParameterList #616 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #599 - id: 599 + ParameterList #616 + id: 616 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #605 + parent: FunctionDefinition #622 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ParameterList #598 - nextSibling: Block #604 - root: SourceUnit #607 + previousSibling: ParameterList #615 + nextSibling: Block #621 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #604 - id: 604 + Block #621 + id: 621 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #605 - vStatements: Array(1) [ RevertStatement #603 ] - children: Array(1) [ RevertStatement #603 ] - firstChild: RevertStatement #603 - lastChild: RevertStatement #603 - previousSibling: ParameterList #599 + parent: FunctionDefinition #622 + vStatements: Array(1) [ RevertStatement #620 ] + children: Array(1) [ RevertStatement #620 ] + firstChild: RevertStatement #620 + lastChild: RevertStatement #620 + previousSibling: ParameterList #616 nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - RevertStatement #603 - id: 603 + RevertStatement #620 + id: 620 src: "0:0:0" type: "RevertStatement" documentation: undefined - errorCall: FunctionCall #602 + errorCall: FunctionCall #619 context: ASTContext #1000 - parent: Block #604 - children: Array(1) [ FunctionCall #602 ] - firstChild: FunctionCall #602 - lastChild: FunctionCall #602 + parent: Block #621 + children: Array(1) [ FunctionCall #619 ] + firstChild: FunctionCall #619 + lastChild: FunctionCall #619 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionCall #602 - id: 602 + FunctionCall #619 + id: 619 src: "0:0:0" type: "FunctionCall" typeString: "tuple()" kind: "functionCall" fieldNames: undefined - vExpression: Identifier #600 - vArguments: Array(1) [ Literal #601 ] + vExpression: Identifier #617 + vArguments: Array(1) [ Literal #618 ] context: ASTContext #1000 - parent: RevertStatement #603 - children: Array(2) [ Identifier #600, Literal #601 ] + parent: RevertStatement #620 + children: Array(2) [ Identifier #617, Literal #618 ] vIdentifier: "UnitLevelError084" vMemberName: undefined vFunctionCallType: "userDefined" - vReferencedDeclaration: ErrorDefinition #542 + vReferencedDeclaration: ErrorDefinition #559 referencedCanonicalSignature: "UnitLevelError084(uint256)" referencedCanonicalSignatureHash: "1d365080" vFunctionName: "UnitLevelError084" - vCallee: Identifier #600 - firstChild: Identifier #600 - lastChild: Literal #601 + vCallee: Identifier #617 + firstChild: Identifier #617 + lastChild: Literal #618 previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Identifier #600 - id: 600 + Identifier #617 + id: 617 src: "0:0:0" type: "Identifier" typeString: "function (uint256) pure" name: "UnitLevelError084" - referencedDeclaration: 542 + referencedDeclaration: 559 context: ASTContext #1000 - parent: FunctionCall #602 - vReferencedDeclaration: ErrorDefinition #542 + parent: FunctionCall #619 + vReferencedDeclaration: ErrorDefinition #559 vIdentifierType: "userDefined" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: Literal #601 - root: SourceUnit #607 + nextSibling: Literal #618 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #601 - id: 601 + Literal #618 + id: 618 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -5840,142 +5840,508 @@ SourceUnit #607 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: FunctionCall #602 + parent: FunctionCall #619 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: Identifier #617 + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ContractDefinition #640 + id: 640 + src: "0:0:0" + type: "ContractDefinition" + name: "Features087" + scope: 641 + kind: "contract" + abstract: false + fullyImplemented: true + linearizedBaseContracts: Array(1) [ 640 ] + usedErrors: Array(0) + docString: undefined + nameLocation: "4484:11:0" + context: ASTContext #1000 + parent: SourceUnit #641 + documentation: undefined + vScope: SourceUnit #641 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #640 ] + vUsedErrors: Array(0) + vInheritanceSpecifiers: Array(0) + vStateVariables: Array(0) + vModifiers: Array(0) + vEvents: Array(0) + vErrors: Array(0) + vFunctions: Array(2) [ FunctionDefinition #632, FunctionDefinition #639 ] + vUsingForDirectives: Array(0) + vStructs: Array(0) + vEnums: Array(0) + vConstructor: undefined + interfaceId: undefined + children: Array(2) [ FunctionDefinition #632, FunctionDefinition #639 ] + firstChild: FunctionDefinition #632 + lastChild: FunctionDefinition #639 + previousSibling: ContractDefinition #623 + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + FunctionDefinition #632 + id: 632 + src: "0:0:0" + type: "FunctionDefinition" + implemented: true + virtual: false + scope: 640 + kind: "function" + name: "basefeeGlobal" + visibility: "external" + stateMutability: "view" + isConstructor: false + documentation: undefined + nameLocation: "4511:13:0" + vParameters: ParameterList #624 + vReturnParameters: ParameterList #627 + vModifiers: Array(0) + vOverrideSpecifier: undefined + vBody: Block #631 + context: ASTContext #1000 + parent: ContractDefinition #640 + children: Array(3) [ ParameterList #624, ParameterList #627, Block #631 ] + vScope: ContractDefinition #640 + canonicalSignature: "basefeeGlobal()" + canonicalSignatureHash: "218fa9ef" + firstChild: ParameterList #624 + lastChild: Block #631 + previousSibling: undefined + nextSibling: FunctionDefinition #639 + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #624 + id: 624 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #632 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #627 + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #627 + id: 627 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #632 + vParameters: Array(1) [ VariableDeclaration #626 ] + children: Array(1) [ VariableDeclaration #626 ] + firstChild: VariableDeclaration #626 + lastChild: VariableDeclaration #626 + previousSibling: ParameterList #624 + nextSibling: Block #631 + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #626 + id: 626 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "" + scope: 632 + stateVariable: false + storageLocation: "default" + visibility: "internal" + mutability: "mutable" + typeString: "uint256" + documentation: undefined + nameLocation: "-1:-1:-1" + vType: ElementaryTypeName #625 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: ParameterList #627 + children: Array(1) [ ElementaryTypeName #625 ] + vScope: FunctionDefinition #632 + canonicalSignatureType: "uint256" + getterCanonicalSignature: "()" + getterCanonicalSignatureHash: "861731d5" + firstChild: ElementaryTypeName #625 + lastChild: ElementaryTypeName #625 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #625 + id: 625 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: "uint256" + name: "uint" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: VariableDeclaration #626 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Block #631 + id: 631 + src: "0:0:0" + type: "Block" + documentation: undefined + context: ASTContext #1000 + parent: FunctionDefinition #632 + vStatements: Array(1) [ Return #630 ] + children: Array(1) [ Return #630 ] + firstChild: Return #630 + lastChild: Return #630 + previousSibling: ParameterList #627 + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Return #630 + id: 630 + src: "0:0:0" + type: "Return" + documentation: undefined + functionReturnParameters: 301 + vExpression: MemberAccess #629 + context: ASTContext #1000 + parent: Block #631 + children: Array(1) [ MemberAccess #629 ] + vFunctionReturnParameters: ParameterList #301 + firstChild: MemberAccess #629 + lastChild: MemberAccess #629 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + MemberAccess #629 + id: 629 + src: "0:0:0" + type: "MemberAccess" + typeString: "uint256" + vExpression: Identifier #628 + memberName: "basefee" + referencedDeclaration: undefined + context: ASTContext #1000 + parent: Return #630 + children: Array(1) [ Identifier #628 ] + vReferencedDeclaration: undefined + firstChild: Identifier #628 + lastChild: Identifier #628 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Identifier #628 + id: 628 + src: "0:0:0" + type: "Identifier" + typeString: "block" + name: "block" + referencedDeclaration: -1 + context: ASTContext #1000 + parent: MemberAccess #629 + vReferencedDeclaration: undefined + vIdentifierType: "builtin" children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: Identifier #600 + previousSibling: undefined nextSibling: undefined - root: SourceUnit #607 + root: SourceUnit #641 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } -SourceUnit #623 - id: 623 + FunctionDefinition #639 + id: 639 + src: "0:0:0" + type: "FunctionDefinition" + implemented: true + virtual: false + scope: 640 + kind: "function" + name: "basefeeInlineAssembly" + visibility: "external" + stateMutability: "view" + isConstructor: false + documentation: undefined + nameLocation: "4608:21:0" + vParameters: ParameterList #633 + vReturnParameters: ParameterList #636 + vModifiers: Array(0) + vOverrideSpecifier: undefined + vBody: Block #638 + context: ASTContext #1000 + parent: ContractDefinition #640 + children: Array(3) [ ParameterList #633, ParameterList #636, Block #638 ] + vScope: ContractDefinition #640 + canonicalSignature: "basefeeInlineAssembly()" + canonicalSignatureHash: "3bb15802" + firstChild: ParameterList #633 + lastChild: Block #638 + previousSibling: FunctionDefinition #632 + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #633 + id: 633 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #639 + vParameters: Array(0) + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: ParameterList #636 + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ParameterList #636 + id: 636 + src: "0:0:0" + type: "ParameterList" + context: ASTContext #1000 + parent: FunctionDefinition #639 + vParameters: Array(1) [ VariableDeclaration #635 ] + children: Array(1) [ VariableDeclaration #635 ] + firstChild: VariableDeclaration #635 + lastChild: VariableDeclaration #635 + previousSibling: ParameterList #633 + nextSibling: Block #638 + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + VariableDeclaration #635 + id: 635 + src: "0:0:0" + type: "VariableDeclaration" + constant: false + indexed: false + name: "ret" + scope: 639 + stateVariable: false + storageLocation: "default" + visibility: "internal" + mutability: "mutable" + typeString: "uint256" + documentation: undefined + nameLocation: "4660:3:0" + vType: ElementaryTypeName #634 + vOverrideSpecifier: undefined + vValue: undefined + context: ASTContext #1000 + parent: ParameterList #636 + children: Array(1) [ ElementaryTypeName #634 ] + vScope: FunctionDefinition #639 + canonicalSignatureType: "uint256" + getterCanonicalSignature: "ret()" + getterCanonicalSignatureHash: "1b08d96f" + firstChild: ElementaryTypeName #634 + lastChild: ElementaryTypeName #634 + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + ElementaryTypeName #634 + id: 634 + src: "0:0:0" + type: "ElementaryTypeName" + typeString: "uint256" + name: "uint" + stateMutability: "nonpayable" + context: ASTContext #1000 + parent: VariableDeclaration #635 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + Block #638 + id: 638 + src: "0:0:0" + type: "Block" + documentation: undefined + context: ASTContext #1000 + parent: FunctionDefinition #639 + vStatements: Array(1) [ InlineAssembly #637 ] + children: Array(1) [ InlineAssembly #637 ] + firstChild: InlineAssembly #637 + lastChild: InlineAssembly #637 + previousSibling: ParameterList #636 + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + + InlineAssembly #637 + id: 637 + src: "0:0:0" + type: "InlineAssembly" + documentation: undefined + externalReferences: Array(1) [ Object { declaration: 309, isOffset: false, isSlot: false, src: "4698:3:0", valueSize: 1 } ] + operations: undefined + yul: Object { nodeType: "YulBlock", src: "4684:40:0", statements: Array(1) [ Object { nodeType: "YulAssignment", src: "4698:16:0", value: Object { arguments: Array(0), functionName: Object { name: "basefee", nodeType: "YulIdentifier", src: "4705:7:0" }, nodeType: "YulFunctionCall", src: "4705:9:0" }, variableNames: Array(1) [ Object { name: "ret", nodeType: "YulIdentifier", src: "4698:3:0" } ] } ] } + context: ASTContext #1000 + parent: Block #638 + children: Array(0) + firstChild: undefined + lastChild: undefined + previousSibling: undefined + nextSibling: undefined + root: SourceUnit #641 + sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } + +SourceUnit #657 + id: 657 src: "0:0:0" type: "SourceUnit" sourceEntryKey: "./test/samples/solidity/latest_imports_08.sol" sourceListIndex: 1 absolutePath: "./test/samples/solidity/latest_imports_08.sol" - exportedSymbols: Map(2) { "SomeContract" -> 621, "SomeLib" -> 622 } + exportedSymbols: Map(2) { "SomeContract" -> 655, "SomeLib" -> 656 } context: ASTContext #1000 - vPragmaDirectives: Array(2) [ PragmaDirective #608, PragmaDirective #609 ] + vPragmaDirectives: Array(2) [ PragmaDirective #642, PragmaDirective #643 ] vImportDirectives: Array(0) - vContracts: Array(2) [ ContractDefinition #621, ContractDefinition #622 ] + vContracts: Array(2) [ ContractDefinition #655, ContractDefinition #656 ] vEnums: Array(0) vErrors: Array(0) vStructs: Array(0) vFunctions: Array(0) vVariables: Array(0) - vExportedSymbols: Map(2) { "SomeContract" -> ContractDefinition #621, "SomeLib" -> ContractDefinition #622 } - children: Array(4) [ PragmaDirective #608, PragmaDirective #609, ContractDefinition #621, ContractDefinition #622 ] - firstChild: PragmaDirective #608 - lastChild: ContractDefinition #622 + vExportedSymbols: Map(2) { "SomeContract" -> ContractDefinition #655, "SomeLib" -> ContractDefinition #656 } + children: Array(4) [ PragmaDirective #642, PragmaDirective #643, ContractDefinition #655, ContractDefinition #656 ] + firstChild: PragmaDirective #642 + lastChild: ContractDefinition #656 previousSibling: undefined nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - PragmaDirective #608 - id: 608 + PragmaDirective #642 + id: 642 src: "0:0:0" type: "PragmaDirective" literals: Array(4) [ "solidity", "^", "0.8", ".0" ] context: ASTContext #1000 - parent: SourceUnit #623 + parent: SourceUnit #657 vIdentifier: "solidity" vValue: "^0.8.0" children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: PragmaDirective #609 - root: SourceUnit #623 + nextSibling: PragmaDirective #643 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - PragmaDirective #609 - id: 609 + PragmaDirective #643 + id: 643 src: "0:0:0" type: "PragmaDirective" literals: Array(2) [ "abicoder", "v2" ] context: ASTContext #1000 - parent: SourceUnit #623 + parent: SourceUnit #657 vIdentifier: "abicoder" vValue: "v2" children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: PragmaDirective #608 - nextSibling: ContractDefinition #621 - root: SourceUnit #623 + previousSibling: PragmaDirective #642 + nextSibling: ContractDefinition #655 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #621 - id: 621 + ContractDefinition #655 + id: 655 src: "0:0:0" type: "ContractDefinition" name: "SomeContract" - scope: 623 + scope: 657 kind: "contract" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 621 ] + linearizedBaseContracts: Array(1) [ 655 ] usedErrors: Array(0) docString: undefined nameLocation: "54:12:1" context: ASTContext #1000 - parent: SourceUnit #623 + parent: SourceUnit #657 documentation: undefined - vScope: SourceUnit #623 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #621 ] + vScope: SourceUnit #657 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #655 ] vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) vModifiers: Array(0) vEvents: Array(0) vErrors: Array(0) - vFunctions: Array(1) [ FunctionDefinition #620 ] + vFunctions: Array(1) [ FunctionDefinition #654 ] vUsingForDirectives: Array(0) - vStructs: Array(1) [ StructDefinition #612 ] + vStructs: Array(1) [ StructDefinition #646 ] vEnums: Array(0) vConstructor: undefined interfaceId: undefined - children: Array(2) [ StructDefinition #612, FunctionDefinition #620 ] - firstChild: StructDefinition #612 - lastChild: FunctionDefinition #620 - previousSibling: PragmaDirective #609 - nextSibling: ContractDefinition #622 - root: SourceUnit #623 + children: Array(2) [ StructDefinition #646, FunctionDefinition #654 ] + firstChild: StructDefinition #646 + lastChild: FunctionDefinition #654 + previousSibling: PragmaDirective #643 + nextSibling: ContractDefinition #656 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - StructDefinition #612 - id: 612 + StructDefinition #646 + id: 646 src: "0:0:0" type: "StructDefinition" name: "SomeStruct" canonicalName: "SomeContract.SomeStruct" - scope: 621 + scope: 655 visibility: "public" nameLocation: "80:10:1" context: ASTContext #1000 - parent: ContractDefinition #621 - vMembers: Array(1) [ VariableDeclaration #611 ] - vScope: ContractDefinition #621 - children: Array(1) [ VariableDeclaration #611 ] - firstChild: VariableDeclaration #611 - lastChild: VariableDeclaration #611 + parent: ContractDefinition #655 + vMembers: Array(1) [ VariableDeclaration #645 ] + vScope: ContractDefinition #655 + children: Array(1) [ VariableDeclaration #645 ] + firstChild: VariableDeclaration #645 + lastChild: VariableDeclaration #645 previousSibling: undefined - nextSibling: FunctionDefinition #620 - root: SourceUnit #623 + nextSibling: FunctionDefinition #654 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #611 - id: 611 + VariableDeclaration #645 + id: 645 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "n" - scope: 612 + scope: 646 stateVariable: false storageLocation: "default" visibility: "internal" @@ -5983,47 +6349,47 @@ SourceUnit #623 typeString: "uint256" documentation: undefined nameLocation: "106:1:1" - vType: ElementaryTypeName #610 + vType: ElementaryTypeName #644 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: StructDefinition #612 - children: Array(1) [ ElementaryTypeName #610 ] - vScope: StructDefinition #612 + parent: StructDefinition #646 + children: Array(1) [ ElementaryTypeName #644 ] + vScope: StructDefinition #646 canonicalSignatureType: "uint256" getterCanonicalSignature: "n()" getterCanonicalSignatureHash: "2e52d606" - firstChild: ElementaryTypeName #610 - lastChild: ElementaryTypeName #610 + firstChild: ElementaryTypeName #644 + lastChild: ElementaryTypeName #644 previousSibling: undefined nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #610 - id: 610 + ElementaryTypeName #644 + id: 644 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #611 + parent: VariableDeclaration #645 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - FunctionDefinition #620 - id: 620 + FunctionDefinition #654 + id: 654 src: "0:0:0" type: "FunctionDefinition" implemented: true virtual: true - scope: 621 + scope: 655 kind: "function" name: "some" visibility: "public" @@ -6031,62 +6397,62 @@ SourceUnit #623 isConstructor: false documentation: undefined nameLocation: "129:4:1" - vParameters: ParameterList #613 - vReturnParameters: ParameterList #616 + vParameters: ParameterList #647 + vReturnParameters: ParameterList #650 vModifiers: Array(0) vOverrideSpecifier: undefined - vBody: Block #619 + vBody: Block #653 context: ASTContext #1000 - parent: ContractDefinition #621 - children: Array(3) [ ParameterList #613, ParameterList #616, Block #619 ] - vScope: ContractDefinition #621 + parent: ContractDefinition #655 + children: Array(3) [ ParameterList #647, ParameterList #650, Block #653 ] + vScope: ContractDefinition #655 canonicalSignature: "some()" canonicalSignatureHash: "c03ee3d3" - firstChild: ParameterList #613 - lastChild: Block #619 - previousSibling: StructDefinition #612 + firstChild: ParameterList #647 + lastChild: Block #653 + previousSibling: StructDefinition #646 nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #613 - id: 613 + ParameterList #647 + id: 647 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #620 + parent: FunctionDefinition #654 vParameters: Array(0) children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined - nextSibling: ParameterList #616 - root: SourceUnit #623 + nextSibling: ParameterList #650 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ParameterList #616 - id: 616 + ParameterList #650 + id: 650 src: "0:0:0" type: "ParameterList" context: ASTContext #1000 - parent: FunctionDefinition #620 - vParameters: Array(1) [ VariableDeclaration #615 ] - children: Array(1) [ VariableDeclaration #615 ] - firstChild: VariableDeclaration #615 - lastChild: VariableDeclaration #615 - previousSibling: ParameterList #613 - nextSibling: Block #619 - root: SourceUnit #623 + parent: FunctionDefinition #654 + vParameters: Array(1) [ VariableDeclaration #649 ] + children: Array(1) [ VariableDeclaration #649 ] + firstChild: VariableDeclaration #649 + lastChild: VariableDeclaration #649 + previousSibling: ParameterList #647 + nextSibling: Block #653 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - VariableDeclaration #615 - id: 615 + VariableDeclaration #649 + id: 649 src: "0:0:0" type: "VariableDeclaration" constant: false indexed: false name: "" - scope: 620 + scope: 654 stateVariable: false storageLocation: "default" visibility: "internal" @@ -6094,76 +6460,76 @@ SourceUnit #623 typeString: "uint256" documentation: undefined nameLocation: "-1:-1:-1" - vType: ElementaryTypeName #614 + vType: ElementaryTypeName #648 vOverrideSpecifier: undefined vValue: undefined context: ASTContext #1000 - parent: ParameterList #616 - children: Array(1) [ ElementaryTypeName #614 ] - vScope: FunctionDefinition #620 + parent: ParameterList #650 + children: Array(1) [ ElementaryTypeName #648 ] + vScope: FunctionDefinition #654 canonicalSignatureType: "uint256" getterCanonicalSignature: "()" getterCanonicalSignatureHash: "861731d5" - firstChild: ElementaryTypeName #614 - lastChild: ElementaryTypeName #614 + firstChild: ElementaryTypeName #648 + lastChild: ElementaryTypeName #648 previousSibling: undefined nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ElementaryTypeName #614 - id: 614 + ElementaryTypeName #648 + id: 648 src: "0:0:0" type: "ElementaryTypeName" typeString: "uint256" name: "uint" stateMutability: "nonpayable" context: ASTContext #1000 - parent: VariableDeclaration #615 + parent: VariableDeclaration #649 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Block #619 - id: 619 + Block #653 + id: 653 src: "0:0:0" type: "Block" documentation: undefined context: ASTContext #1000 - parent: FunctionDefinition #620 - vStatements: Array(1) [ Return #618 ] - children: Array(1) [ Return #618 ] - firstChild: Return #618 - lastChild: Return #618 - previousSibling: ParameterList #616 + parent: FunctionDefinition #654 + vStatements: Array(1) [ Return #652 ] + children: Array(1) [ Return #652 ] + firstChild: Return #652 + lastChild: Return #652 + previousSibling: ParameterList #650 nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Return #618 - id: 618 + Return #652 + id: 652 src: "0:0:0" type: "Return" documentation: undefined - functionReturnParameters: 307 - vExpression: Literal #617 + functionReturnParameters: 324 + vExpression: Literal #651 context: ASTContext #1000 - parent: Block #619 - children: Array(1) [ Literal #617 ] - vFunctionReturnParameters: ParameterList #307 - firstChild: Literal #617 - lastChild: Literal #617 + parent: Block #653 + children: Array(1) [ Literal #651 ] + vFunctionReturnParameters: ParameterList #324 + firstChild: Literal #651 + lastChild: Literal #651 previousSibling: undefined nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - Literal #617 - id: 617 + Literal #651 + id: 651 src: "0:0:0" type: "Literal" typeString: "int_const 1" @@ -6172,33 +6538,33 @@ SourceUnit #623 value: "1" subdenomination: undefined context: ASTContext #1000 - parent: Return #618 + parent: Return #652 children: Array(0) firstChild: undefined lastChild: undefined previousSibling: undefined nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } - ContractDefinition #622 - id: 622 + ContractDefinition #656 + id: 656 src: "0:0:0" type: "ContractDefinition" name: "SomeLib" - scope: 623 + scope: 657 kind: "library" abstract: false fullyImplemented: true - linearizedBaseContracts: Array(1) [ 622 ] + linearizedBaseContracts: Array(1) [ 656 ] usedErrors: Array(0) docString: undefined nameLocation: "202:7:1" context: ASTContext #1000 - parent: SourceUnit #623 + parent: SourceUnit #657 documentation: undefined - vScope: SourceUnit #623 - vLinearizedBaseContracts: Array(1) [ ContractDefinition #622 ] + vScope: SourceUnit #657 + vLinearizedBaseContracts: Array(1) [ ContractDefinition #656 ] vUsedErrors: Array(0) vInheritanceSpecifiers: Array(0) vStateVariables: Array(0) @@ -6214,7 +6580,7 @@ SourceUnit #623 children: Array(0) firstChild: undefined lastChild: undefined - previousSibling: ContractDefinition #621 + previousSibling: ContractDefinition #655 nextSibling: undefined - root: SourceUnit #623 + root: SourceUnit #657 sourceInfo: Object { offset: 0, length: 0, sourceIndex: 0 } diff --git a/test/samples/solidity/latest_08.sol b/test/samples/solidity/latest_08.sol index e783f6a8..ac39cccb 100644 --- a/test/samples/solidity/latest_08.sol +++ b/test/samples/solidity/latest_08.sol @@ -199,3 +199,15 @@ contract Features084 { revert UnitLevelError084(1); } } + +contract Features087 { + function basefeeGlobal() external view returns (uint) { + return block.basefee; + } + + function basefeeInlineAssembly() external view returns (uint ret) { + assembly { + ret := basefee() + } + } +} diff --git a/test/samples/solidity/latest_08.sourced.sol b/test/samples/solidity/latest_08.sourced.sol index 1cb0ba4a..3ce620ad 100644 --- a/test/samples/solidity/latest_08.sourced.sol +++ b/test/samples/solidity/latest_08.sourced.sol @@ -151,6 +151,18 @@ contract Features084 { revert UnitLevelError084(1); } } + +contract Features087 { + function basefeeGlobal() external view returns (uint) { + return block.basefee; + } + + function basefeeInlineAssembly() external view returns (uint ret) { + assembly { + ret := basefee() + } + } +} // ------------------------------------------------------------ // /test/samples/solidity/latest_imports_08.sol // ------------------------------------------------------------ From 5c462d8d3852c7cdf982f01a6cdce34435ddb0b8 Mon Sep 17 00:00:00 2001 From: blitz-1306 Date: Thu, 19 Aug 2021 11:38:37 +0500 Subject: [PATCH 2/4] Updated development dependencies to latest --- package-lock.json | 168 +++++++++++++++++++++++----------------------- package.json | 8 +-- 2 files changed, 88 insertions(+), 88 deletions(-) diff --git a/package-lock.json b/package-lock.json index 317d8be2..227939ef 100644 --- a/package-lock.json +++ b/package-lock.json @@ -85,8 +85,8 @@ "@types/mocha": "^9.0.0", "@types/node": "^12.20.19", "@types/semver": "^7.3.8", - "@typescript-eslint/eslint-plugin": "^4.29.1", - "@typescript-eslint/parser": "^4.29.1", + "@typescript-eslint/eslint-plugin": "^4.29.2", + "@typescript-eslint/parser": "^4.29.2", "codecov": "^3.8.3", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", @@ -96,9 +96,9 @@ "nyc": "^15.1.0", "peggy": "^1.2.0", "prettier": "2.3.2", - "ts-node": "^10.2.0", + "ts-node": "^10.2.1", "ts-pegjs": "^1.1.1", - "typedoc": "^0.21.5", + "typedoc": "^0.21.6", "typescript": "^4.3.5" } }, @@ -896,13 +896,13 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.1.tgz", - "integrity": "sha512-AHqIU+SqZZgBEiWOrtN94ldR3ZUABV5dUG94j8Nms9rQnHFc8fvDOue/58K4CFz6r8OtDDc35Pw9NQPWo0Ayrw==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.2.tgz", + "integrity": "sha512-x4EMgn4BTfVd9+Z+r+6rmWxoAzBaapt4QFqE+d8L8sUtYZYLDTK6VG/y/SMMWA5t1/BVU5Kf+20rX4PtWzUYZg==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.1", - "@typescript-eslint/scope-manager": "4.29.1", + "@typescript-eslint/experimental-utils": "4.29.2", + "@typescript-eslint/scope-manager": "4.29.2", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -927,15 +927,15 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.1.tgz", - "integrity": "sha512-kl6QG6qpzZthfd2bzPNSJB2YcZpNOrP6r9jueXupcZHnL74WiuSjaft7WSu17J9+ae9zTlk0KJMXPUj0daBxMw==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.2.tgz", + "integrity": "sha512-P6mn4pqObhftBBPAv4GQtEK7Yos1fz/MlpT7+YjH9fTxZcALbiiPKuSIfYP/j13CeOjfq8/fr9Thr2glM9ub7A==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.1", - "@typescript-eslint/types": "4.29.1", - "@typescript-eslint/typescript-estree": "4.29.1", + "@typescript-eslint/scope-manager": "4.29.2", + "@typescript-eslint/types": "4.29.2", + "@typescript-eslint/typescript-estree": "4.29.2", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -969,14 +969,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.1.tgz", - "integrity": "sha512-3fL5iN20hzX3Q4OkG7QEPFjZV2qsVGiDhEwwh+EkmE/w7oteiOvUNzmpu5eSwGJX/anCryONltJ3WDmAzAoCMg==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.2.tgz", + "integrity": "sha512-WQ6BPf+lNuwteUuyk1jD/aHKqMQ9jrdCn7Gxt9vvBnzbpj7aWEf+aZsJ1zvTjx5zFxGCt000lsbD9tQPEL8u6g==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.29.1", - "@typescript-eslint/types": "4.29.1", - "@typescript-eslint/typescript-estree": "4.29.1", + "@typescript-eslint/scope-manager": "4.29.2", + "@typescript-eslint/types": "4.29.2", + "@typescript-eslint/typescript-estree": "4.29.2", "debug": "^4.3.1" }, "engines": { @@ -996,13 +996,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.1.tgz", - "integrity": "sha512-Hzv/uZOa9zrD/W5mftZa54Jd5Fed3tL6b4HeaOpwVSabJK8CJ+2MkDasnX/XK4rqP5ZTWngK1ZDeCi6EnxPQ7A==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.2.tgz", + "integrity": "sha512-mfHmvlQxmfkU8D55CkZO2sQOueTxLqGvzV+mG6S/6fIunDiD2ouwsAoiYCZYDDK73QCibYjIZmGhpvKwAB5BOA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.1", - "@typescript-eslint/visitor-keys": "4.29.1" + "@typescript-eslint/types": "4.29.2", + "@typescript-eslint/visitor-keys": "4.29.2" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -1013,9 +1013,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.1.tgz", - "integrity": "sha512-Jj2yu78IRfw4nlaLtKjVaGaxh/6FhofmQ/j8v3NXmAiKafbIqtAPnKYrf0sbGjKdj0hS316J8WhnGnErbJ4RCA==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.2.tgz", + "integrity": "sha512-K6ApnEXId+WTGxqnda8z4LhNMa/pZmbTFkDxEBLQAbhLZL50DjeY0VIDCml/0Y3FlcbqXZrABqrcKxq+n0LwzQ==", "dev": true, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -1026,13 +1026,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.1.tgz", - "integrity": "sha512-lIkkrR9E4lwZkzPiRDNq0xdC3f2iVCUjw/7WPJ4S2Sl6C3nRWkeE1YXCQ0+KsiaQRbpY16jNaokdWnm9aUIsfw==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.2.tgz", + "integrity": "sha512-TJ0/hEnYxapYn9SGn3dCnETO0r+MjaxtlWZ2xU+EvytF0g4CqTpZL48SqSNn2hXsPolnewF30pdzR9a5Lj3DNg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.1", - "@typescript-eslint/visitor-keys": "4.29.1", + "@typescript-eslint/types": "4.29.2", + "@typescript-eslint/visitor-keys": "4.29.2", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1053,12 +1053,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.1.tgz", - "integrity": "sha512-zLqtjMoXvgdZY/PG6gqA73V8BjqPs4af1v2kiiETBObp+uC6gRYnJLmJHxC0QyUrrHDLJPIWNYxoBV3wbcRlag==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.2.tgz", + "integrity": "sha512-bDgJLQ86oWHJoZ1ai4TZdgXzJxsea3Ee9u9wsTAvjChdj2WLcVsgWYAPeY7RQMn16tKrlQaBnpKv7KBfs4EQag==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/types": "4.29.2", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -10685,9 +10685,9 @@ } }, "node_modules/ts-node": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.0.tgz", - "integrity": "sha512-FstYHtQz6isj8rBtYMN4bZdnXN1vq4HCbqn9vdNQcInRqtB86PePJQIxE6es0PhxKWhj2PHuwbG40H+bxkZPmg==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.1.tgz", + "integrity": "sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "0.6.1", @@ -10804,9 +10804,9 @@ } }, "node_modules/typedoc": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.5.tgz", - "integrity": "sha512-uRDRmYheE5Iju9Zz0X50pTASTpBorIHFt02F5Y8Dt4eBt55h3mwk1CBSY2+EfwBxY16N4Xm7f8KXhnfFZ0AmBw==", + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.6.tgz", + "integrity": "sha512-+4u3PEBjQdaL5/yfus5WJbjIdQHv7E/FpZq3cNki9BBdGmZhqnTF6JLIXDQ2EfVggojOJG9/soB5QVFgXRYnIw==", "dev": true, "dependencies": { "glob": "^7.1.7", @@ -11907,13 +11907,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.1.tgz", - "integrity": "sha512-AHqIU+SqZZgBEiWOrtN94ldR3ZUABV5dUG94j8Nms9rQnHFc8fvDOue/58K4CFz6r8OtDDc35Pw9NQPWo0Ayrw==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.2.tgz", + "integrity": "sha512-x4EMgn4BTfVd9+Z+r+6rmWxoAzBaapt4QFqE+d8L8sUtYZYLDTK6VG/y/SMMWA5t1/BVU5Kf+20rX4PtWzUYZg==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.1", - "@typescript-eslint/scope-manager": "4.29.1", + "@typescript-eslint/experimental-utils": "4.29.2", + "@typescript-eslint/scope-manager": "4.29.2", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -11922,15 +11922,15 @@ } }, "@typescript-eslint/experimental-utils": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.1.tgz", - "integrity": "sha512-kl6QG6qpzZthfd2bzPNSJB2YcZpNOrP6r9jueXupcZHnL74WiuSjaft7WSu17J9+ae9zTlk0KJMXPUj0daBxMw==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.2.tgz", + "integrity": "sha512-P6mn4pqObhftBBPAv4GQtEK7Yos1fz/MlpT7+YjH9fTxZcALbiiPKuSIfYP/j13CeOjfq8/fr9Thr2glM9ub7A==", "dev": true, "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.1", - "@typescript-eslint/types": "4.29.1", - "@typescript-eslint/typescript-estree": "4.29.1", + "@typescript-eslint/scope-manager": "4.29.2", + "@typescript-eslint/types": "4.29.2", + "@typescript-eslint/typescript-estree": "4.29.2", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -11947,41 +11947,41 @@ } }, "@typescript-eslint/parser": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.1.tgz", - "integrity": "sha512-3fL5iN20hzX3Q4OkG7QEPFjZV2qsVGiDhEwwh+EkmE/w7oteiOvUNzmpu5eSwGJX/anCryONltJ3WDmAzAoCMg==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.2.tgz", + "integrity": "sha512-WQ6BPf+lNuwteUuyk1jD/aHKqMQ9jrdCn7Gxt9vvBnzbpj7aWEf+aZsJ1zvTjx5zFxGCt000lsbD9tQPEL8u6g==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.29.1", - "@typescript-eslint/types": "4.29.1", - "@typescript-eslint/typescript-estree": "4.29.1", + "@typescript-eslint/scope-manager": "4.29.2", + "@typescript-eslint/types": "4.29.2", + "@typescript-eslint/typescript-estree": "4.29.2", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.1.tgz", - "integrity": "sha512-Hzv/uZOa9zrD/W5mftZa54Jd5Fed3tL6b4HeaOpwVSabJK8CJ+2MkDasnX/XK4rqP5ZTWngK1ZDeCi6EnxPQ7A==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.2.tgz", + "integrity": "sha512-mfHmvlQxmfkU8D55CkZO2sQOueTxLqGvzV+mG6S/6fIunDiD2ouwsAoiYCZYDDK73QCibYjIZmGhpvKwAB5BOA==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.1", - "@typescript-eslint/visitor-keys": "4.29.1" + "@typescript-eslint/types": "4.29.2", + "@typescript-eslint/visitor-keys": "4.29.2" } }, "@typescript-eslint/types": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.1.tgz", - "integrity": "sha512-Jj2yu78IRfw4nlaLtKjVaGaxh/6FhofmQ/j8v3NXmAiKafbIqtAPnKYrf0sbGjKdj0hS316J8WhnGnErbJ4RCA==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.2.tgz", + "integrity": "sha512-K6ApnEXId+WTGxqnda8z4LhNMa/pZmbTFkDxEBLQAbhLZL50DjeY0VIDCml/0Y3FlcbqXZrABqrcKxq+n0LwzQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.1.tgz", - "integrity": "sha512-lIkkrR9E4lwZkzPiRDNq0xdC3f2iVCUjw/7WPJ4S2Sl6C3nRWkeE1YXCQ0+KsiaQRbpY16jNaokdWnm9aUIsfw==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.2.tgz", + "integrity": "sha512-TJ0/hEnYxapYn9SGn3dCnETO0r+MjaxtlWZ2xU+EvytF0g4CqTpZL48SqSNn2hXsPolnewF30pdzR9a5Lj3DNg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.1", - "@typescript-eslint/visitor-keys": "4.29.1", + "@typescript-eslint/types": "4.29.2", + "@typescript-eslint/visitor-keys": "4.29.2", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -11990,12 +11990,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.1.tgz", - "integrity": "sha512-zLqtjMoXvgdZY/PG6gqA73V8BjqPs4af1v2kiiETBObp+uC6gRYnJLmJHxC0QyUrrHDLJPIWNYxoBV3wbcRlag==", + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.2.tgz", + "integrity": "sha512-bDgJLQ86oWHJoZ1ai4TZdgXzJxsea3Ee9u9wsTAvjChdj2WLcVsgWYAPeY7RQMn16tKrlQaBnpKv7KBfs4EQag==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.1", + "@typescript-eslint/types": "4.29.2", "eslint-visitor-keys": "^2.0.0" } }, @@ -19682,9 +19682,9 @@ } }, "ts-node": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.0.tgz", - "integrity": "sha512-FstYHtQz6isj8rBtYMN4bZdnXN1vq4HCbqn9vdNQcInRqtB86PePJQIxE6es0PhxKWhj2PHuwbG40H+bxkZPmg==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.2.1.tgz", + "integrity": "sha512-hCnyOyuGmD5wHleOQX6NIjJtYVIO8bPP8F2acWkB4W06wdlkgyvJtubO/I9NkI88hCFECbsEgoLc0VNkYmcSfw==", "dev": true, "requires": { "@cspotcode/source-map-support": "0.6.1", @@ -19756,9 +19756,9 @@ } }, "typedoc": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.5.tgz", - "integrity": "sha512-uRDRmYheE5Iju9Zz0X50pTASTpBorIHFt02F5Y8Dt4eBt55h3mwk1CBSY2+EfwBxY16N4Xm7f8KXhnfFZ0AmBw==", + "version": "0.21.6", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.21.6.tgz", + "integrity": "sha512-+4u3PEBjQdaL5/yfus5WJbjIdQHv7E/FpZq3cNki9BBdGmZhqnTF6JLIXDQ2EfVggojOJG9/soB5QVFgXRYnIw==", "dev": true, "requires": { "glob": "^7.1.7", diff --git a/package.json b/package.json index ccc66b4f..f5ea2a83 100644 --- a/package.json +++ b/package.json @@ -100,8 +100,8 @@ "@types/mocha": "^9.0.0", "@types/node": "^12.20.19", "@types/semver": "^7.3.8", - "@typescript-eslint/eslint-plugin": "^4.29.1", - "@typescript-eslint/parser": "^4.29.1", + "@typescript-eslint/eslint-plugin": "^4.29.2", + "@typescript-eslint/parser": "^4.29.2", "codecov": "^3.8.3", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", @@ -111,9 +111,9 @@ "nyc": "^15.1.0", "peggy": "^1.2.0", "prettier": "2.3.2", - "ts-node": "^10.2.0", + "ts-node": "^10.2.1", "ts-pegjs": "^1.1.1", - "typedoc": "^0.21.5", + "typedoc": "^0.21.6", "typescript": "^4.3.5" }, "homepage": "https://consensys.github.io/solc-typed-ast", From 24936e8a32c035ed26c2d461eddfa9596c29644e Mon Sep 17 00:00:00 2001 From: blitz-1306 Date: Thu, 19 Aug 2021 14:30:39 +0500 Subject: [PATCH 3/4] CLI tool tweaks: reuse default values, allow to pass compiler-version for JSON inputs. --- src/bin/compile.ts | 51 +++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/src/bin/compile.ts b/src/bin/compile.ts index 565f19c3..4d275274 100644 --- a/src/bin/compile.ts +++ b/src/bin/compile.ts @@ -27,6 +27,8 @@ import { XPath } from ".."; +const modes = ["auto", "sol", "json"]; + const cli = { boolean: [ "version", @@ -42,13 +44,11 @@ const cli = { string: ["mode", "compiler-version", "path-remapping", "xpath"], default: { depth: Number.MAX_SAFE_INTEGER, - mode: "auto", + mode: modes[0], "compiler-version": "auto" } }; -const modes = ["auto", "sol", "json"]; - const args = minimist(process.argv.slice(2), cli); if (args.version) { @@ -78,14 +78,14 @@ OPTIONS: --stdin Read input from STDIN instead of files. Requires "mode" to be explicitly set to "sol" or "json". --mode One of the following input types: - - sol (Solidity source) - - json (JSON compiler artifact) - - auto (try to detect by file extension) - Default value: auto + - ${modes[1]} (Solidity source) + - ${modes[2]} (JSON compiler artifact) + - ${modes[0]} (try to detect by file extension) + Default value: ${cli.default.mode} --compiler-version Solc version to use: - ${LatestCompilerVersion} (exact SemVer version specifier) - auto (try to detect suitable compiler version) - Default value: auto + Default value: ${cli.default["compiler-version"]} --path-remapping Path remapping input for Solc. --raw Print raw Solc compilation output. --with-sources When used with "raw", adds "source" property with @@ -95,7 +95,7 @@ OPTIONS: --xpath XPath selector to perform for each source unit. --depth Number of children for each of AST node to print. Minimum value is 0. Not affects "raw", "tree" and "source". - Default value: ${Number.MAX_SAFE_INTEGER} + Default value: ${cli.default.depth} `; console.log(message); @@ -135,20 +135,19 @@ OPTIONS: const content = fse.readFileSync(0, { encoding: "utf-8" }); - if (mode === "json") { - const data = JSON.parse(content); - - result = compileJsonData(fileName, data, compilerVersion, pathRemapping); - } else { - result = compileSourceString(fileName, content, compilerVersion, pathRemapping); - } + result = + mode === "json" + ? compileJsonData(fileName, JSON.parse(content), compilerVersion, pathRemapping) + : compileSourceString(fileName, content, compilerVersion, pathRemapping); } else { fileName = path.resolve(process.cwd(), args._[0]); if (mode === "auto") { - if (fileName.toLowerCase().endsWith(".sol")) { + const iFileName = fileName.toLowerCase(); + + if (iFileName.endsWith(".sol")) { result = compileSol(fileName, compilerVersion, pathRemapping); - } else if (fileName.toLowerCase().endsWith(".json")) { + } else if (iFileName.endsWith(".json")) { result = compileJson(fileName, compilerVersion, pathRemapping); } else { throw new Error("Unable to auto-detect mode for the file name: " + fileName); @@ -291,12 +290,18 @@ OPTIONS: } if (args.source) { + let targetCompilerVersion: string; + + if (result.compilerVersion) { + targetCompilerVersion = result.compilerVersion; + } else if (compilerVersion !== "auto") { + targetCompilerVersion = compilerVersion; + } else { + targetCompilerVersion = LatestCompilerVersion; + } + const formatter = new PrettyFormatter(4, 0); - const writer = new ASTWriter( - DefaultASTWriterMapping, - formatter, - result.compilerVersion ? result.compilerVersion : LatestCompilerVersion - ); + const writer = new ASTWriter(DefaultASTWriterMapping, formatter, targetCompilerVersion); for (const unit of units) { console.log("// " + separator); From ecb77aa118eb051f7150dbdfc6dcfaa0931f58d3 Mon Sep 17 00:00:00 2001 From: blitz-1306 Date: Mon, 23 Aug 2021 10:48:50 +0500 Subject: [PATCH 4/4] Updated development dependencies --- package-lock.json | 42 +++++++++++++++++++++--------------------- package.json | 6 +++--- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/package-lock.json b/package-lock.json index 227939ef..6cf10053 100644 --- a/package-lock.json +++ b/package-lock.json @@ -83,16 +83,16 @@ "@types/fs-extra": "^9.0.12", "@types/minimist": "^1.2.2", "@types/mocha": "^9.0.0", - "@types/node": "^12.20.19", + "@types/node": "^12.20.20", "@types/semver": "^7.3.8", "@typescript-eslint/eslint-plugin": "^4.29.2", "@typescript-eslint/parser": "^4.29.2", "codecov": "^3.8.3", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", - "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-prettier": "^3.4.1", "expect": "^27.0.6", - "mocha": "^9.0.3", + "mocha": "^9.1.0", "nyc": "^15.1.0", "peggy": "^1.2.0", "prettier": "2.3.2", @@ -863,9 +863,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "12.20.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.19.tgz", - "integrity": "sha512-niAuZrwrjKck4+XhoCw6AAVQBENHftpXw9F4ryk66fTgYaKQ53R4FI7c9vUGGw5vQis1HKBHDR1gcYI/Bq1xvw==", + "version": "12.20.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.20.tgz", + "integrity": "sha512-kqmxiJg4AT7rsSPIhO6eoBIx9mNwwpeH42yjtgQh6X2ANSpLpvToMXv+LMFdfxpwG1FZXZ41OGZMiUAtbBLEvg==", "dev": true }, "node_modules/@types/semver": { @@ -1827,9 +1827,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz", - "integrity": "sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0" @@ -3632,9 +3632,9 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "node_modules/mocha": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.3.tgz", - "integrity": "sha512-hnYFrSefHxYS2XFGtN01x8un0EwNu2bzKvhpRFhgoybIvMaOkkL60IVPmkb5h6XDmUl4IMSB+rT5cIO4/4bJgg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.0.tgz", + "integrity": "sha512-Kjg/XxYOFFUi0h/FwMOeb6RoroiZ+P1yOfya6NK7h3dNhahrJx1r2XIT3ge4ZQvJM86mdjNA+W5phqRQh7DwCg==", "dev": true, "dependencies": { "@ungap/promise-all-settled": "1.1.2", @@ -11874,9 +11874,9 @@ "dev": true }, "@types/node": { - "version": "12.20.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.19.tgz", - "integrity": "sha512-niAuZrwrjKck4+XhoCw6AAVQBENHftpXw9F4ryk66fTgYaKQ53R4FI7c9vUGGw5vQis1HKBHDR1gcYI/Bq1xvw==", + "version": "12.20.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.20.tgz", + "integrity": "sha512-kqmxiJg4AT7rsSPIhO6eoBIx9mNwwpeH42yjtgQh6X2ANSpLpvToMXv+LMFdfxpwG1FZXZ41OGZMiUAtbBLEvg==", "dev": true }, "@types/semver": { @@ -12678,9 +12678,9 @@ "requires": {} }, "eslint-plugin-prettier": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.0.tgz", - "integrity": "sha512-UDK6rJT6INSfcOo545jiaOwB701uAIt2/dR7WnFQoGCVl1/EMqdANBmwUaqqQ45aXprsTGzSa39LI1PyuRBxxw==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz", + "integrity": "sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g==", "dev": true, "requires": { "prettier-linter-helpers": "^1.0.0" @@ -14003,9 +14003,9 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" }, "mocha": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.0.3.tgz", - "integrity": "sha512-hnYFrSefHxYS2XFGtN01x8un0EwNu2bzKvhpRFhgoybIvMaOkkL60IVPmkb5h6XDmUl4IMSB+rT5cIO4/4bJgg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.0.tgz", + "integrity": "sha512-Kjg/XxYOFFUi0h/FwMOeb6RoroiZ+P1yOfya6NK7h3dNhahrJx1r2XIT3ge4ZQvJM86mdjNA+W5phqRQh7DwCg==", "dev": true, "requires": { "@ungap/promise-all-settled": "1.1.2", diff --git a/package.json b/package.json index f5ea2a83..153b5392 100644 --- a/package.json +++ b/package.json @@ -98,16 +98,16 @@ "@types/fs-extra": "^9.0.12", "@types/minimist": "^1.2.2", "@types/mocha": "^9.0.0", - "@types/node": "^12.20.19", + "@types/node": "^12.20.20", "@types/semver": "^7.3.8", "@typescript-eslint/eslint-plugin": "^4.29.2", "@typescript-eslint/parser": "^4.29.2", "codecov": "^3.8.3", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", - "eslint-plugin-prettier": "^3.4.0", + "eslint-plugin-prettier": "^3.4.1", "expect": "^27.0.6", - "mocha": "^9.0.3", + "mocha": "^9.1.0", "nyc": "^15.1.0", "peggy": "^1.2.0", "prettier": "2.3.2",