solc-typed-ast 8.0.0 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +37 -13
  2. package/dist/ast/implementation/declaration/index.js +5 -1
  3. package/dist/ast/implementation/declaration/index.js.map +1 -1
  4. package/dist/ast/implementation/expression/index.js +5 -1
  5. package/dist/ast/implementation/expression/index.js.map +1 -1
  6. package/dist/ast/implementation/meta/index.js +5 -1
  7. package/dist/ast/implementation/meta/index.js.map +1 -1
  8. package/dist/ast/implementation/statement/index.js +5 -1
  9. package/dist/ast/implementation/statement/index.js.map +1 -1
  10. package/dist/ast/implementation/type/index.js +5 -1
  11. package/dist/ast/implementation/type/index.js.map +1 -1
  12. package/dist/ast/index.js +5 -1
  13. package/dist/ast/index.js.map +1 -1
  14. package/dist/ast/legacy/index.js +5 -1
  15. package/dist/ast/legacy/index.js.map +1 -1
  16. package/dist/ast/modern/index.js +5 -1
  17. package/dist/ast/modern/index.js.map +1 -1
  18. package/dist/ast/postprocessing/index.js +5 -1
  19. package/dist/ast/postprocessing/index.js.map +1 -1
  20. package/dist/ast/writing/index.js +5 -1
  21. package/dist/ast/writing/index.js.map +1 -1
  22. package/dist/bin/compile.js +6 -1
  23. package/dist/bin/compile.js.map +1 -1
  24. package/dist/compile/constants.d.ts.map +1 -1
  25. package/dist/compile/constants.js +2 -1
  26. package/dist/compile/constants.js.map +1 -1
  27. package/dist/compile/index.js +5 -1
  28. package/dist/compile/index.js.map +1 -1
  29. package/dist/compile/inference/imports.d.ts +5 -7
  30. package/dist/compile/inference/imports.d.ts.map +1 -1
  31. package/dist/compile/inference/imports.js +56 -38
  32. package/dist/compile/inference/imports.js.map +1 -1
  33. package/dist/compile/inference/index.js +5 -1
  34. package/dist/compile/inference/index.js.map +1 -1
  35. package/dist/compile/input.d.ts +4 -9
  36. package/dist/compile/input.d.ts.map +1 -1
  37. package/dist/compile/input.js +4 -13
  38. package/dist/compile/input.js.map +1 -1
  39. package/dist/compile/kinds/compiler.d.ts +13 -1
  40. package/dist/compile/kinds/compiler.d.ts.map +1 -1
  41. package/dist/compile/kinds/compiler.js +114 -3
  42. package/dist/compile/kinds/compiler.js.map +1 -1
  43. package/dist/compile/kinds/index.d.ts +0 -2
  44. package/dist/compile/kinds/index.d.ts.map +1 -1
  45. package/dist/compile/kinds/index.js +5 -3
  46. package/dist/compile/kinds/index.js.map +1 -1
  47. package/dist/compile/kinds/md.d.ts +3 -1
  48. package/dist/compile/kinds/md.d.ts.map +1 -1
  49. package/dist/compile/kinds/md.js +26 -32
  50. package/dist/compile/kinds/md.js.map +1 -1
  51. package/dist/compile/utils.d.ts +1 -1
  52. package/dist/compile/utils.d.ts.map +1 -1
  53. package/dist/compile/utils.js +12 -24
  54. package/dist/compile/utils.js.map +1 -1
  55. package/dist/index.js +5 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/misc/index.js +5 -1
  58. package/dist/misc/index.js.map +1 -1
  59. package/dist/types/ast/index.d.ts +1 -0
  60. package/dist/types/ast/index.d.ts.map +1 -1
  61. package/dist/types/ast/index.js +6 -1
  62. package/dist/types/ast/index.js.map +1 -1
  63. package/dist/types/ast/rational_literal.d.ts +14 -0
  64. package/dist/types/ast/rational_literal.d.ts.map +1 -0
  65. package/dist/types/ast/rational_literal.js +19 -0
  66. package/dist/types/ast/rational_literal.js.map +1 -0
  67. package/dist/types/builtins.d.ts.map +1 -1
  68. package/dist/types/builtins.js +5 -0
  69. package/dist/types/builtins.js.map +1 -1
  70. package/dist/types/index.js +5 -1
  71. package/dist/types/index.js.map +1 -1
  72. package/dist/types/typeStrings/index.js +5 -1
  73. package/dist/types/typeStrings/index.js.map +1 -1
  74. package/dist/types/typeStrings/typeString_parser.d.ts.map +1 -1
  75. package/dist/types/typeStrings/typeString_parser.js +1 -1
  76. package/dist/types/typeStrings/typeString_parser.js.map +1 -1
  77. package/dist/types/typeStrings/typeString_parser_header.d.ts.map +1 -1
  78. package/dist/types/typeStrings/typeString_parser_header.js.map +1 -1
  79. package/dist/types/utils.js +1 -1
  80. package/dist/types/utils.js.map +1 -1
  81. package/package.json +15 -78
  82. package/dist/compile/kinds/native.d.ts +0 -11
  83. package/dist/compile/kinds/native.d.ts.map +0 -1
  84. package/dist/compile/kinds/native.js +0 -101
  85. package/dist/compile/kinds/native.js.map +0 -1
  86. package/dist/compile/kinds/wasm.d.ts +0 -20
  87. package/dist/compile/kinds/wasm.d.ts.map +0 -1
  88. package/dist/compile/kinds/wasm.js +0 -70
  89. package/dist/compile/kinds/wasm.js.map +0 -1
package/README.md CHANGED
@@ -11,7 +11,7 @@ A TypeScript package providing a normalized typed Solidity AST along with the ut
11
11
 
12
12
  ## Features
13
13
 
14
- - Various [solc-js](https://www.npmjs.com/package/solc) compiler versions support, starting from **0.4.13**.
14
+ - Various [Solidity](https://github.com/ethereum/solidity) compiler versions support, starting from **0.4.13**.
15
15
  - Various compiler selection strategies, including compiler auto-detection via `pragma solidity` directives in Solidity sources with possible fallback options.
16
16
  - Interaction with AST nodes, using type definitions.
17
17
  - Compensation of differences between legacy and compact Solidity AST.
@@ -68,16 +68,34 @@ console.log(result);
68
68
 
69
69
  The second argument with the `"auto"` value specifies a compiler selection strategy. If `"auto"` is specified and source code contains valid `pragma solidity` directive, then compiler version will be automatically picked from it. If compile process will not succedd, the execution will fall back to _"compiler guessing"_: trying to compile source with a few different versions of the new and old Solidity compilers. The other option would be to specify a concrete supported compiler version string, like `"0.7.0"` for example. There is also a support for various compiler selection strategies, including used-defined custom ones (`CompilerVersionSelectionStrategy` interface implementations).
70
70
 
71
- **NOTE:** We want to notify that **the package preinstalls 50+ versions of Solc compilers** (since 0.4.13), so be ready that it will occupy fair amount of free space. At some point we may consider to move compilers away from this package. It will mostly depend on users feedback.
71
+ ### Used compilers
72
72
 
73
- ### Native compilers
73
+ Package supports switching between native binary Solc compilers and its WASM versions. The CLI option `--compiler-kind` and `kind` argument of `compile*()` functions family may be used for that purpose. Compilers **are downloaded on-demand** to the directory `.compiler_cache` at the package installation directory (by default). The compiler cache location may be customized by setting `SOL_AST_COMPILER_CACHE` environment variable to a custom path. For example:
74
74
 
75
- Package supports switching between native binary Solc compilers and its WASM versions. The CLI option `--compiler-kind` and `kind` argument of `compile*()` functions family may be used for that purpose. Native binary compilers are downloaded on demand to the directory `.compiler_cache` at the package installation directory (by default). The compiler cache location may be customized by setting `SOL_AST_COMPILER_CACHE` environment variable to a custom path. For example:
75
+ ```bash
76
+ SOL_AST_COMPILER_CACHE=~/.compiler_cache sol-ast-compile sample.sol --compiler-kind native --tree
77
+ ```
78
+
79
+ or
76
80
 
77
81
  ```bash
78
- SOL_AST_COMPILER_CACHE=~/.compiler_cache solc-ast-compile sample.sol --compiler-kind native --tree
82
+ export SOL_AST_COMPILER_CACHE=~/.compiler_cache
83
+
84
+ sol-ast-compile sample.sol --compiler-kind native --tree
79
85
  ```
80
86
 
87
+ #### Invalidation of downloaded compler cache
88
+
89
+ If there is a need to invalidate the downloaded compiler cache, then follow next steps:
90
+
91
+ 1. Locate `.compiler_cache` directory:
92
+
93
+ ```bash
94
+ sol-ast-compile --locate-compiler-cache
95
+ ```
96
+
97
+ 2. Manually remove `list.json` files to invalidate list of available compilers, remove certain compilers, or remove entire directory. Missing pieces will be downloaded again.
98
+
81
99
  ### Typed universal AST
82
100
 
83
101
  After the source is compiled and original compiler has provided the raw AST, the `ASTReader` could be used to read the typed universal AST:
@@ -138,7 +156,7 @@ Use `--help` to see all available features.
138
156
  The project have following directory structure:
139
157
 
140
158
  ```
141
- ├── .compiler_cache # Cache of downloaded native compilers.
159
+ ├── .compiler_cache # Cache of downloaded compilers (by default, if not configured by SOL_AST_COMPILER_CACHE).
142
160
  ├── coverage # Test coverage report, produced by "npm test" command.
143
161
  ├── dist # Generated JavaScript sources for package distribution (produced by "npm run build" and published by "npm publish" commands).
144
162
  ├── docs # Project documentation and API reference, produced by "npm run docs:render" or "npm run docs:refresh" commands.
@@ -174,24 +192,30 @@ A key points for better understanding:
174
192
 
175
193
  ## Development installation
176
194
 
177
- Install prerequisites:
195
+ ### Prerequisites
178
196
 
179
- - NodeJS version **12.x** or newer.
180
- - NPM version **6.9.0** or newer.
197
+ We suggest to use latest NodeJS LTS release `lts/gallium` (v16.14.0) and associated version of NPM. If there is a need to run different NodeJS versions, consider using [NVM](https://github.com/nvm-sh/nvm) or similar tool, that is available for your platform.
181
198
 
182
- Clone repository:
199
+ ### Clone and build
200
+
201
+ Clone repository, install and link:
183
202
 
184
203
  ```bash
185
204
  git clone https://github.com/ConsenSys/solc-typed-ast.git
205
+ cd solc-typed-ast/
206
+ npm install
207
+ npm link
186
208
  ```
187
209
 
188
- Install and link:
210
+ Prior to running tests the compiler pre-downloading script `docker/download.sh` may be used to setup local compiler cache:
189
211
 
190
212
  ```bash
191
- npm install
192
- npm link
213
+ docker/download.sh 'linux-amd64' '.compiler_cache' # platform-dependent native compiler builds
214
+ docker/download.sh 'wasm' '.compiler_cache' # cross-platform WASM compiler builds
193
215
  ```
194
216
 
217
+ Supported platforms are listed here: https://github.com/ethereum/solc-bin
218
+
195
219
  ## Project documentation and API reference
196
220
 
197
221
  The project documentation is contained in the `docs/` directory. It could be built via following command:
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/declaration/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAAsC;AACtC,oDAAkC;AAClC,+CAA6B;AAC7B,qDAAmC;AACnC,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,sDAAoC;AACpC,uEAAqD;AACrD,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/declaration/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,oDAAkC;AAClC,+CAA6B;AAC7B,qDAAmC;AACnC,qDAAmC;AACnC,wDAAsC;AACtC,wDAAsC;AACtC,sDAAoC;AACpC,uEAAqD;AACrD,yDAAuC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/expression/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,qDAAmC;AACnC,gDAA8B;AAC9B,oEAAkD;AAClD,+CAA6B;AAC7B,kDAAgC;AAChC,0DAAwC;AACxC,+CAA6B;AAC7B,iDAA+B;AAC/B,uDAAqC;AACrC,4CAA0B;AAC1B,kDAAgC;AAChC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/expression/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,qDAAmC;AACnC,gDAA8B;AAC9B,oEAAkD;AAClD,+CAA6B;AAC7B,kDAAgC;AAChC,0DAAwC;AACxC,+CAA6B;AAC7B,iDAA+B;AAC/B,uDAAqC;AACrC,4CAA0B;AAC1B,kDAAgC;AAChC,mDAAiC;AACjC,uDAAqC;AACrC,qDAAmC;AACnC,oDAAkC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/meta/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,0DAAwC;AACxC,wDAAsC;AACtC,uDAAqC;AACrC,mDAAiC;AACjC,qDAAmC;AACnC,gDAA8B;AAC9B,6DAA2C;AAC3C,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/meta/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,qDAAmC;AACnC,0DAAwC;AACxC,wDAAsC;AACtC,uDAAqC;AACrC,mDAAiC;AACjC,qDAAmC;AACnC,gDAA8B;AAC9B,6DAA2C;AAC3C,wDAAsC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,uDAAqC;AACrC,mDAAiC;AACjC,yDAAuC;AACvC,kDAAgC;AAChC,iDAA+B;AAC/B,oDAAkC;AAClC,0DAAwC;AACxC,2CAAyB;AACzB,qDAAmC;AACnC,8CAA4B;AAC5B,0CAAwB;AACxB,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,mEAAiD;AACjD,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/statement/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,uDAAqC;AACrC,mDAAiC;AACjC,yDAAuC;AACvC,kDAAgC;AAChC,iDAA+B;AAC/B,oDAAkC;AAClC,0DAAwC;AACxC,2CAAyB;AACzB,qDAAmC;AACnC,8CAA4B;AAC5B,0CAAwB;AACxB,qDAAmC;AACnC,kDAAgC;AAChC,oDAAkC;AAClC,mEAAiD;AACjD,oDAAkC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/type/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkC;AAClC,yDAAuC;AACvC,uDAAqC;AACrC,4CAA0B;AAC1B,8CAA4B;AAC5B,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ast/implementation/type/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,yDAAuC;AACvC,uDAAqC;AACrC,4CAA0B;AAC1B,8CAA4B;AAC5B,2DAAyC"}
package/dist/ast/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6C;AAC7C,8DAA4C;AAC5C,wDAAsC;AACtC,6DAA2C;AAC3C,wDAAsC;AACtC,qDAAmC;AACnC,uDAAqC;AACrC,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,6CAA2B;AAC3B,gDAA8B;AAC9B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ast/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,8DAA4C;AAC5C,wDAAsC;AACtC,6DAA2C;AAC3C,wDAAsC;AACtC,qDAAmC;AACnC,uDAAqC;AACrC,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,mDAAiC;AACjC,4CAA0B;AAC1B,6CAA2B;AAC3B,gDAA8B;AAC9B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/legacy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAgC;AAEhC,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,oDAAkC;AAClC,oDAAkC;AAClC,0DAAwC;AACxC,uDAAqC;AACrC,kEAAgD;AAChD,iEAA+C;AAC/C,8EAA4D;AAC5D,mEAAiD;AACjD,6DAA2C;AAC3C,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,yDAAuC;AACvC,mEAAiD;AACjD,4DAA0C;AAC1C,oEAAkD;AAClD,4DAA0C;AAC1C,kEAAgD;AAChD,iEAA+C;AAC/C,yDAAuC;AACvC,2DAAyC;AACzC,+DAA6C;AAC7C,2DAAyC;AACzC,iEAA+C;AAC/C,oEAAkD;AAClD,8DAA4C;AAC5C,sDAAoC;AACpC,sDAAoC;AACpC,4DAA0C;AAC1C,kEAAgD;AAChD,kEAAgD;AAChD,6DAA2C;AAC3C,mDAAiC;AACjC,iEAA+C;AAC/C,6DAA2C;AAC3C,oEAAkD;AAClD,+DAA6C;AAC7C,qDAAmC;AACnC,0DAAwC;AACxC,uEAAqD;AACrD,gEAA8C;AAC9C,oDAAkC;AAClC,+DAA6C;AAC7C,4DAA0C;AAC1C,+DAA6C;AAC7C,wDAAsC;AACtC,8DAA4C;AAC5C,qEAAmD;AACnD,kEAAgD;AAChD,mEAAiD;AACjD,6EAA2D;AAC3D,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/legacy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAEhC,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,oDAAkC;AAClC,oDAAkC;AAClC,0DAAwC;AACxC,uDAAqC;AACrC,kEAAgD;AAChD,iEAA+C;AAC/C,8EAA4D;AAC5D,mEAAiD;AACjD,6DAA2C;AAC3C,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,yDAAuC;AACvC,mEAAiD;AACjD,4DAA0C;AAC1C,oEAAkD;AAClD,4DAA0C;AAC1C,kEAAgD;AAChD,iEAA+C;AAC/C,yDAAuC;AACvC,2DAAyC;AACzC,+DAA6C;AAC7C,2DAAyC;AACzC,iEAA+C;AAC/C,oEAAkD;AAClD,8DAA4C;AAC5C,sDAAoC;AACpC,sDAAoC;AACpC,4DAA0C;AAC1C,kEAAgD;AAChD,kEAAgD;AAChD,6DAA2C;AAC3C,mDAAiC;AACjC,iEAA+C;AAC/C,6DAA2C;AAC3C,oEAAkD;AAClD,+DAA6C;AAC7C,qDAAmC;AACnC,0DAAwC;AACxC,uEAAqD;AACrD,gEAA8C;AAC9C,oDAAkC;AAClC,+DAA6C;AAC7C,4DAA0C;AAC1C,+DAA6C;AAC7C,wDAAsC;AACtC,8DAA4C;AAC5C,qEAAmD;AACnD,kEAAgD;AAChD,mEAAiD;AACjD,6EAA2D;AAC3D,8DAA4C"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/modern/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAgC;AAEhC,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,oDAAkC;AAClC,oDAAkC;AAClC,0DAAwC;AACxC,uDAAqC;AACrC,kEAAgD;AAChD,iEAA+C;AAC/C,8EAA4D;AAC5D,mEAAiD;AACjD,6DAA2C;AAC3C,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,+DAA6C;AAC7C,yDAAuC;AACvC,mEAAiD;AACjD,4DAA0C;AAC1C,oEAAkD;AAClD,4DAA0C;AAC1C,kEAAgD;AAChD,iEAA+C;AAC/C,8DAA4C;AAC5C,yDAAuC;AACvC,2DAAyC;AACzC,+DAA6C;AAC7C,2DAAyC;AACzC,iEAA+C;AAC/C,oEAAkD;AAClD,8DAA4C;AAC5C,sDAAoC;AACpC,sDAAoC;AACpC,4DAA0C;AAC1C,kEAAgD;AAChD,kEAAgD;AAChD,6DAA2C;AAC3C,mDAAiC;AACjC,iEAA+C;AAC/C,6DAA2C;AAC3C,oEAAkD;AAClD,+DAA6C;AAC7C,qDAAmC;AACnC,+DAA6C;AAC7C,0DAAwC;AACxC,uEAAqD;AACrD,gEAA8C;AAC9C,oDAAkC;AAClC,+DAA6C;AAC7C,4DAA0C;AAC1C,+DAA6C;AAC7C,wDAAsC;AACtC,8DAA4C;AAC5C,8DAA4C;AAC5C,qEAAmD;AACnD,iFAA+D;AAC/D,kEAAgD;AAChD,mEAAiD;AACjD,6EAA2D;AAC3D,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/modern/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAEhC,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,oDAAkC;AAClC,oDAAkC;AAClC,0DAAwC;AACxC,uDAAqC;AACrC,kEAAgD;AAChD,iEAA+C;AAC/C,8EAA4D;AAC5D,mEAAiD;AACjD,6DAA2C;AAC3C,8DAA4C;AAC5C,yDAAuC;AACvC,+DAA6C;AAC7C,+DAA6C;AAC7C,yDAAuC;AACvC,mEAAiD;AACjD,4DAA0C;AAC1C,oEAAkD;AAClD,4DAA0C;AAC1C,kEAAgD;AAChD,iEAA+C;AAC/C,8DAA4C;AAC5C,yDAAuC;AACvC,2DAAyC;AACzC,+DAA6C;AAC7C,2DAAyC;AACzC,iEAA+C;AAC/C,oEAAkD;AAClD,8DAA4C;AAC5C,sDAAoC;AACpC,sDAAoC;AACpC,4DAA0C;AAC1C,kEAAgD;AAChD,kEAAgD;AAChD,6DAA2C;AAC3C,mDAAiC;AACjC,iEAA+C;AAC/C,6DAA2C;AAC3C,oEAAkD;AAClD,+DAA6C;AAC7C,qDAAmC;AACnC,+DAA6C;AAC7C,0DAAwC;AACxC,uEAAqD;AACrD,gEAA8C;AAC9C,oDAAkC;AAClC,+DAA6C;AAC7C,4DAA0C;AAC1C,+DAA6C;AAC7C,wDAAsC;AACtC,8DAA4C;AAC5C,8DAA4C;AAC5C,qEAAmD;AACnD,iFAA+D;AAC/D,kEAAgD;AAChD,mEAAiD;AACjD,6EAA2D;AAC3D,8DAA4C"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/postprocessing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8EAA4D;AAC5D,yCAAuB;AACvB,4EAA0D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/postprocessing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8EAA4D;AAC5D,yCAAuB;AACvB,4EAA0D"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/writing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ast/writing/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B;AAC9B,8CAA4B;AAC5B,2CAAyB"}
@@ -18,7 +18,8 @@ const cli = {
18
18
  "raw",
19
19
  "with-sources",
20
20
  "tree",
21
- "source"
21
+ "source",
22
+ "locate-compiler-cache"
22
23
  ],
23
24
  number: ["depth"],
24
25
  string: [
@@ -51,6 +52,9 @@ const cli = {
51
52
  ].join("\n");
52
53
  console.log(message);
53
54
  }
55
+ else if (args["locate-compiler-cache"]) {
56
+ console.log(__1.CACHE_DIR);
57
+ }
54
58
  else if (args.help || (!args._.length && !args.stdin)) {
55
59
  const message = `Compiles Solidity input and prints typed AST.
56
60
 
@@ -88,6 +92,7 @@ OPTIONS:
88
92
  --depth Number of children for each of AST node to print.
89
93
  Minimum value is 0. Not affects "raw", "tree" and "source".
90
94
  Default value: ${cli.default.depth}
95
+ --locate-compiler-cache Print location of cache directory, that is used to store downloaded compilers.
91
96
  `;
92
97
  console.log(message);
93
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/bin/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/bin/compile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/compile/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAe9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAmB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAc9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAkE,CAAC;AAElG,eAAO,MAAM,kBAAkB,UAa9B,CAAC;AAEF,eAAO,MAAM,cAAc,YAM1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAM5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAEnF,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IACzB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,EAAE,OAAO;IACT,YAAY,gBAAgB;IAC5B,cAAc,kBAAkB;IAChC,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,mBAAmB,uBAAuB;IAC1C,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAC/D,wCAAwC,6CAA6C;IACrF,qBAAqB,0BAA0B;IAC/C,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,GAAG,MAAM;CACZ;AAED,eAAO,MAAM,qBAAqB,aAA+C,CAAC;AAElF,eAAO,MAAM,0BAA0B,aAAoD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/compile/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAe9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAmB9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAc9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAkE,CAAC;AAElG,eAAO,MAAM,kBAAkB,UAc9B,CAAC;AAEF,eAAO,MAAM,cAAc,YAM1B,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAM5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAgD,CAAC;AAEnF,oBAAY,YAAY;IACpB,IAAI,SAAS;IACb,MAAM,WAAW;CACpB;AAED;;;GAGG;AACH,oBAAY,iBAAiB;IACzB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,EAAE,OAAO;IACT,YAAY,gBAAgB;IAC5B,cAAc,kBAAkB;IAChC,GAAG,QAAQ;IACX,YAAY,iBAAiB;IAC7B,mBAAmB,uBAAuB;IAC1C,YAAY,iBAAiB;IAC7B,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAC/D,wCAAwC,6CAA6C;IACrF,qBAAqB,0BAA0B;IAC/C,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,GAAG,MAAM;CACZ;AAED,eAAO,MAAM,qBAAqB,aAA+C,CAAC;AAElF,eAAO,MAAM,0BAA0B,aAAoD,CAAC"}
@@ -65,7 +65,8 @@ exports.CompilerVersions08 = [
65
65
  "0.8.8",
66
66
  "0.8.9",
67
67
  "0.8.10",
68
- "0.8.11"
68
+ "0.8.11",
69
+ "0.8.12"
69
70
  ];
70
71
  exports.CompilerSeries = [
71
72
  exports.CompilerVersions04,
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/compile/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAErF,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,cAAc,GAAG;IAC1B,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;CACrB,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC5B,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAG,wBAAgB,CAAC,wBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEnF,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,6BAAa,CAAA;IACb,iCAAiB,CAAA;AACrB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED;;;GAGG;AACH,IAAY,iBAwBX;AAxBD,WAAY,iBAAiB;IACzB,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,8BAAS,CAAA;IACT,iDAA4B,CAAA;IAC5B,qDAAgC,CAAA;IAChC,gCAAW,CAAA;IACX,kDAA6B,CAAA;IAC7B,+DAA0C,CAAA;IAC1C,kDAA6B,CAAA;IAC7B,gEAA2C,CAAA;IAC3C,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,gFAA2D,CAAA;IAC3D,oFAA+D,CAAA;IAC/D,0GAAqF,CAAA;IACrF,oEAA+C,CAAA;IAC/C,0DAAqC,CAAA;IACrC,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,8BAAS,CAAA;AACb,CAAC,EAxBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAwB5B;AAEY,QAAA,qBAAqB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAErE,QAAA,0BAA0B,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/compile/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,kBAAkB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAErF,QAAA,kBAAkB,GAAG;IAC9B,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;CACX,CAAC;AAEW,QAAA,cAAc,GAAG;IAC1B,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;IAClB,0BAAkB;CACrB,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC5B,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;IACrB,GAAG,0BAAkB;CACxB,CAAC;AAEW,QAAA,qBAAqB,GAAG,wBAAgB,CAAC,wBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAEnF,IAAY,YAGX;AAHD,WAAY,YAAY;IACpB,6BAAa,CAAA;IACb,iCAAiB,CAAA;AACrB,CAAC,EAHW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAGvB;AAED;;;GAGG;AACH,IAAY,iBAwBX;AAxBD,WAAY,iBAAiB;IACzB,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,sCAAiB,CAAA;IACjB,wCAAmB,CAAA;IACnB,0CAAqB,CAAA;IACrB,8BAAS,CAAA;IACT,iDAA4B,CAAA;IAC5B,qDAAgC,CAAA;IAChC,gCAAW,CAAA;IACX,kDAA6B,CAAA;IAC7B,+DAA0C,CAAA;IAC1C,kDAA6B,CAAA;IAC7B,gEAA2C,CAAA;IAC3C,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,gFAA2D,CAAA;IAC3D,oFAA+D,CAAA;IAC/D,0GAAqF,CAAA;IACrF,oEAA+C,CAAA;IAC/C,0DAAqC,CAAA;IACrC,8CAAyB,CAAA;IACzB,8CAAyB,CAAA;IACzB,8BAAS,CAAA;AACb,CAAC,EAxBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAwB5B;AAEY,QAAA,qBAAqB,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;AAErE,QAAA,0BAA0B,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compile/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAqC;AACrC,8CAA4B;AAC5B,oDAAkC;AAClC,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAwB;AACxB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compile/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,8CAA4B;AAC5B,oDAAkC;AAClC,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAwB;AACxB,4CAA0B"}
@@ -1,11 +1,9 @@
1
1
  import { ImportResolver, Remapping } from "..";
2
- export declare function normalizeImportPath(path: string): string;
3
2
  /**
4
- * Given a partial map `files` from file names to file contents, a list of
5
- * `remappings` and a list of `ImportResolver`s `resolvers`, find and return all
6
- * ADDITIONAL files that are imported from the starting set `files` but are
7
- * missing in `files`. The return value is also a map from file names to file
8
- * contents.
3
+ * Given a partial map `files` from **source unit names** to file contents, a list of
4
+ * `remappings` and a list of `ImportResolver`s - `resolvers`, find all
5
+ * files that are imported from the starting set `files` but are
6
+ * **missing** in `files` and add them into the files map.
9
7
  */
10
- export declare function findAllFiles(files: Map<string, string>, remappings: Remapping[], resolvers: ImportResolver[]): Map<string, string>;
8
+ export declare function findAllFiles(files: Map<string, string>, remappings: Remapping[], resolvers: ImportResolver[]): void;
11
9
  //# sourceMappingURL=imports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../../src/compile/inference/imports.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,cAAc,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAsBtE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAkCD;;;;;;GAMG;AACH,wBAAgB,YAAY,CACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,cAAc,EAAE,GAC5B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAwErB"}
1
+ {"version":3,"file":"imports.d.ts","sourceRoot":"","sources":["../../../src/compile/inference/imports.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,cAAc,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAsFtE;;;;;GAKG;AACH,wBAAgB,YAAY,CACxB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,UAAU,EAAE,SAAS,EAAE,EACvB,SAAS,EAAE,cAAc,EAAE,GAC5B,IAAI,CA8DN"}
@@ -3,10 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.findAllFiles = exports.normalizeImportPath = void 0;
6
+ exports.findAllFiles = void 0;
7
7
  const fs_extra_1 = __importDefault(require("fs-extra"));
8
8
  const path_1 = require("path");
9
9
  const __1 = require("..");
10
+ const __2 = require("../..");
10
11
  const file_level_definitions_parser_1 = require("./file_level_definitions_parser");
11
12
  /**
12
13
  * Apply the first remapping in `remappings` that fits `path` and
@@ -20,11 +21,6 @@ function applyRemappings(remappings, path) {
20
21
  }
21
22
  return path;
22
23
  }
23
- function normalizeImportPath(path) {
24
- const normalized = (0, path_1.normalize)(path);
25
- return (0, path_1.isAbsolute)(normalized) ? normalized : "./" + normalized;
26
- }
27
- exports.normalizeImportPath = normalizeImportPath;
28
24
  /**
29
25
  * Check that `path` starts with a relative prefix "." or "./". Note that we
30
26
  * don't use `!path.isAbsolute(path)` on purpose. Otherwise it might consider
@@ -34,58 +30,81 @@ function isPathWithRelativePrefix(path) {
34
30
  return path.startsWith("./") || path.startsWith("../");
35
31
  }
36
32
  /**
37
- * Given the `importer` unit path, and the path `imported` of an import directive
38
- * inside the unit, compute the real path of the imported unit.
33
+ * Normalize a relative import path as described in
34
+ * https://docs.soliditylang.org/en/v0.8.8/path-resolution.html#relative-imports
35
+ * @param importer - source unit name of importing unit
36
+ * @param imported - path of import directive
37
+ */
38
+ function normalizeRelativeImportPath(importer, imported) {
39
+ imported = (0, path_1.normalize)(imported);
40
+ let prefix = (0, path_1.dirname)(importer);
41
+ const importedSegments = imported.split("/").filter((s) => s != "");
42
+ let strippedSegments = 0;
43
+ while (strippedSegments < importedSegments.length &&
44
+ importedSegments[strippedSegments] === "..") {
45
+ prefix = (0, path_1.dirname)(prefix);
46
+ strippedSegments++;
47
+ }
48
+ // According to https://docs.soliditylang.org/en/v0.8.8/path-resolution.html#relative-imports when prefix
49
+ // is empty there is no leading "./". However `dirname` always returns non-empty prefixes.
50
+ // Handle this edge case.
51
+ if (prefix === "." && !importer.startsWith(".")) {
52
+ prefix = "";
53
+ }
54
+ (0, __2.assert)(prefix === "" || !prefix.endsWith("/"), `Invalid prefix ${prefix}`);
55
+ const suffix = importedSegments.slice(strippedSegments).join("/");
56
+ return prefix === "" ? suffix : prefix + "/" + suffix;
57
+ }
58
+ /**
59
+ * Given the `importer` source unit path, and the path `imported` of an import
60
+ * directive compute the expected **source unit name** of the imported file.
61
+ * This is the name the compiler will look for in its "VFS" as defined starting
62
+ * here:
39
63
  *
40
- * This takes into account remappings, relative and absolute paths.
41
- * Note: The returned path is not neccessarily absolute!
64
+ * https://docs.soliditylang.org/en/v0.8.8/path-resolution.html
65
+ *
66
+ * This takes into account relative and absolute paths and remappings.
42
67
  */
43
- function computeRealPath(importer, imported, remappings) {
44
- let result = applyRemappings(remappings, imported);
45
- if (importer !== undefined && isPathWithRelativePrefix(result)) {
46
- const importingFileDir = (0, path_1.dirname)(importer);
47
- result = normalizeImportPath((0, path_1.join)(importingFileDir, result));
68
+ function computeSourceUnitName(importerSourceUnit, imported, remappings) {
69
+ if (isPathWithRelativePrefix(imported)) {
70
+ return normalizeRelativeImportPath(importerSourceUnit, imported);
48
71
  }
49
- return result;
72
+ return applyRemappings(remappings, imported);
50
73
  }
51
74
  /**
52
- * Given a partial map `files` from file names to file contents, a list of
53
- * `remappings` and a list of `ImportResolver`s `resolvers`, find and return all
54
- * ADDITIONAL files that are imported from the starting set `files` but are
55
- * missing in `files`. The return value is also a map from file names to file
56
- * contents.
75
+ * Given a partial map `files` from **source unit names** to file contents, a list of
76
+ * `remappings` and a list of `ImportResolver`s - `resolvers`, find all
77
+ * files that are imported from the starting set `files` but are
78
+ * **missing** in `files` and add them into the files map.
57
79
  */
58
80
  function findAllFiles(files, remappings, resolvers) {
59
- const queue = [];
60
- for (const fileName of files.keys()) {
61
- queue.push([undefined, fileName]);
62
- }
81
+ // Queue of source unit names to process
82
+ const queue = [...files.keys()];
63
83
  const visited = new Set();
64
- const result = new Map();
65
84
  while (queue.length > 0) {
66
- const [importer, imported] = queue.pop();
67
- const realPath = computeRealPath(importer, imported, remappings);
85
+ const sourceUnitName = queue.pop();
68
86
  /**
69
- * Skip already processed imports
87
+ * Skip already processed units
70
88
  */
71
- if (visited.has(realPath)) {
89
+ if (visited.has(sourceUnitName)) {
72
90
  continue;
73
91
  }
74
- let content = files.get(realPath);
92
+ visited.add(sourceUnitName);
93
+ let content = files.get(sourceUnitName);
94
+ // Missing contents - try and fill them in from the resolvers
75
95
  if (content === undefined) {
76
96
  for (const resolver of resolvers) {
77
- const resolvedPath = resolver.resolve(realPath);
97
+ const resolvedPath = resolver.resolve(sourceUnitName);
78
98
  if (resolvedPath !== undefined) {
79
99
  content = fs_extra_1.default.readFileSync(resolvedPath, { encoding: "utf-8" });
80
100
  break;
81
101
  }
82
102
  }
83
103
  if (content === undefined) {
84
- throw new __1.CompileInferenceError(`Couldn't find ${realPath} imported from ${importer}`);
104
+ throw new __1.CompileInferenceError(`Couldn't find ${sourceUnitName}`);
85
105
  }
86
- result.set(isPathWithRelativePrefix(imported) ? realPath : imported, content);
106
+ files.set(sourceUnitName, content);
87
107
  }
88
- visited.add(realPath);
89
108
  let flds;
90
109
  try {
91
110
  flds = (0, file_level_definitions_parser_1.parseFileLevelDefinitions)(content);
@@ -95,17 +114,16 @@ function findAllFiles(files, remappings, resolvers) {
95
114
  const start = e.location.start.offset;
96
115
  const end = e.location.end.offset;
97
116
  const length = end - start;
98
- throw new __1.CompileInferenceError(`Failed parsing imports at ${realPath}:${start}:${length} - ${e.message}`);
117
+ throw new __1.CompileInferenceError(`Failed parsing imports at ${sourceUnitName}:${start}:${length} - ${e.message}`);
99
118
  }
100
119
  throw e;
101
120
  }
102
121
  for (const fld of flds) {
103
122
  if (fld.kind === file_level_definitions_parser_1.FileLevelNodeKind.Import) {
104
- queue.push([realPath, fld.path]);
123
+ queue.push(computeSourceUnitName(sourceUnitName, fld.path, remappings));
105
124
  }
106
125
  }
107
126
  }
108
- return result;
109
127
  }
110
128
  exports.findAllFiles = findAllFiles;
111
129
  //# sourceMappingURL=imports.js.map