solc-typed-ast 11.0.0 → 11.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.
- package/dist/types/eval_const.d.ts +11 -5
- package/dist/types/eval_const.d.ts.map +1 -1
- package/dist/types/eval_const.js +189 -170
- package/dist/types/eval_const.js.map +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/utils.js +3 -0
- package/dist/types/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,14 +1,20 @@
|
|
|
1
1
|
import Decimal from "decimal.js";
|
|
2
|
-
import { Expression } from "../ast";
|
|
2
|
+
import { BinaryOperation, EtherUnit, Expression, Literal, LiteralKind, TimeUnit, UnaryOperation } from "../ast";
|
|
3
3
|
export declare type Value = Decimal | boolean | string | bigint;
|
|
4
4
|
export declare class EvalError extends Error {
|
|
5
|
-
expr
|
|
6
|
-
constructor(
|
|
5
|
+
expr?: Expression;
|
|
6
|
+
constructor(msg: string, expr?: Expression);
|
|
7
7
|
}
|
|
8
8
|
export declare class NonConstantExpressionError extends EvalError {
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(expr: Expression);
|
|
10
10
|
}
|
|
11
11
|
export declare function isConstant(expr: Expression): boolean;
|
|
12
|
+
export declare function evalLiteralImpl(kind: LiteralKind, value: string, subdenomination?: TimeUnit | EtherUnit): Value;
|
|
13
|
+
export declare function evalUnaryImpl(operator: string, value: Value): Value;
|
|
14
|
+
export declare function evalBinaryImpl(operator: string, left: Value, right: Value): Value;
|
|
15
|
+
export declare function evalLiteral(node: Literal): Value;
|
|
16
|
+
export declare function evalUnary(node: UnaryOperation): Value;
|
|
17
|
+
export declare function evalBinary(node: BinaryOperation): Value;
|
|
12
18
|
/**
|
|
13
19
|
* Given a constant expression `expr` evaluate it to a concrete `Value`.
|
|
14
20
|
* If `expr` is not constant throw `NonConstantExpressionError`.
|
|
@@ -16,5 +22,5 @@ export declare function isConstant(expr: Expression): boolean;
|
|
|
16
22
|
* TODO: The order of some operations changed in some version.
|
|
17
23
|
* So perhaps to be fully precise here we will need a compiler version too?
|
|
18
24
|
*/
|
|
19
|
-
export declare function evalConstantExpr(
|
|
25
|
+
export declare function evalConstantExpr(node: Expression): Value;
|
|
20
26
|
//# sourceMappingURL=eval_const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval_const.d.ts","sourceRoot":"","sources":["../../src/types/eval_const.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"eval_const.d.ts","sourceRoot":"","sources":["../../src/types/eval_const.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AACjC,OAAO,EACH,eAAe,EAEf,SAAS,EACT,UAAU,EAIV,OAAO,EACP,WAAW,EACX,QAAQ,EAER,cAAc,EAEjB,MAAM,QAAQ,CAAC;AAWhB,oBAAY,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,qBAAa,SAAU,SAAQ,KAAK;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC;gBAEN,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU;CAK7C;AAED,qBAAa,0BAA2B,SAAQ,SAAS;gBACzC,IAAI,EAAE,UAAU;CAG/B;AAkBD,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CA6DpD;AAED,wBAAgB,eAAe,CAC3B,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,MAAM,EACb,eAAe,CAAC,EAAE,QAAQ,GAAG,SAAS,GACvC,KAAK,CAmCP;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAsCnE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAwHjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG,KAAK,CAchD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,GAAG,KAAK,CAUrD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAcvD;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,KAAK,CA+CxD"}
|
package/dist/types/eval_const.js
CHANGED
|
@@ -3,7 +3,7 @@ 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.evalConstantExpr = exports.isConstant = exports.NonConstantExpressionError = exports.EvalError = void 0;
|
|
6
|
+
exports.evalConstantExpr = exports.evalBinary = exports.evalUnary = exports.evalLiteral = exports.evalBinaryImpl = exports.evalUnaryImpl = exports.evalLiteralImpl = exports.isConstant = exports.NonConstantExpressionError = exports.EvalError = void 0;
|
|
7
7
|
const decimal_js_1 = __importDefault(require("decimal.js"));
|
|
8
8
|
const ast_1 = require("../ast");
|
|
9
9
|
const misc_1 = require("../misc");
|
|
@@ -16,18 +16,21 @@ const utils_1 = require("./utils");
|
|
|
16
16
|
*/
|
|
17
17
|
decimal_js_1.default.set({ precision: 100 });
|
|
18
18
|
class EvalError extends Error {
|
|
19
|
-
constructor(
|
|
19
|
+
constructor(msg, expr) {
|
|
20
20
|
super(msg);
|
|
21
|
-
this.expr =
|
|
21
|
+
this.expr = expr;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.EvalError = EvalError;
|
|
25
25
|
class NonConstantExpressionError extends EvalError {
|
|
26
|
-
constructor(
|
|
27
|
-
super(
|
|
26
|
+
constructor(expr) {
|
|
27
|
+
super(`Found non-constant expression ${(0, misc_1.pp)(expr)} during constant evaluation`, expr);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
exports.NonConstantExpressionError = NonConstantExpressionError;
|
|
31
|
+
function str(value) {
|
|
32
|
+
return value instanceof decimal_js_1.default ? value.toString() : (0, misc_1.pp)(value);
|
|
33
|
+
}
|
|
31
34
|
function promoteToDec(v) {
|
|
32
35
|
if (!(typeof v === "bigint" || v instanceof decimal_js_1.default)) {
|
|
33
36
|
throw new Error(`Expected number not ${v}`);
|
|
@@ -82,23 +85,22 @@ function isConstant(expr) {
|
|
|
82
85
|
return false;
|
|
83
86
|
}
|
|
84
87
|
exports.isConstant = isConstant;
|
|
85
|
-
function
|
|
86
|
-
if (
|
|
87
|
-
return
|
|
88
|
-
}
|
|
89
|
-
if (expr.kind === ast_1.LiteralKind.String || expr.kind === ast_1.LiteralKind.UnicodeString) {
|
|
90
|
-
return expr.value;
|
|
88
|
+
function evalLiteralImpl(kind, value, subdenomination) {
|
|
89
|
+
if (kind === ast_1.LiteralKind.Bool) {
|
|
90
|
+
return value === "true";
|
|
91
91
|
}
|
|
92
|
-
if (
|
|
93
|
-
|
|
92
|
+
if (kind === ast_1.LiteralKind.String ||
|
|
93
|
+
kind === ast_1.LiteralKind.UnicodeString ||
|
|
94
|
+
kind === ast_1.LiteralKind.HexString) {
|
|
95
|
+
return value;
|
|
94
96
|
}
|
|
95
|
-
if (
|
|
96
|
-
const dec = new decimal_js_1.default(
|
|
97
|
+
if (kind === ast_1.LiteralKind.Number) {
|
|
98
|
+
const dec = new decimal_js_1.default(value.replaceAll("_", ""));
|
|
97
99
|
const val = dec.isInteger() ? BigInt(dec.toFixed()) : dec;
|
|
98
|
-
if (
|
|
99
|
-
const multiplier = utils_1.SUBDENOMINATION_MULTIPLIERS.get(
|
|
100
|
+
if (subdenomination) {
|
|
101
|
+
const multiplier = utils_1.SUBDENOMINATION_MULTIPLIERS.get(subdenomination);
|
|
100
102
|
if (multiplier === undefined) {
|
|
101
|
-
throw new EvalError(
|
|
103
|
+
throw new EvalError(`Unknown denomination ${subdenomination}`);
|
|
102
104
|
}
|
|
103
105
|
if (val instanceof decimal_js_1.default) {
|
|
104
106
|
return demoteFromDec(val.times(multiplier));
|
|
@@ -107,159 +109,176 @@ function evalLiteral(expr) {
|
|
|
107
109
|
}
|
|
108
110
|
return val;
|
|
109
111
|
}
|
|
110
|
-
throw new EvalError(
|
|
112
|
+
throw new EvalError(`Unsupported literal kind "${kind}"`);
|
|
111
113
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (
|
|
115
|
-
if (
|
|
116
|
-
|
|
114
|
+
exports.evalLiteralImpl = evalLiteralImpl;
|
|
115
|
+
function evalUnaryImpl(operator, value) {
|
|
116
|
+
if (operator === "!") {
|
|
117
|
+
if (typeof value === "boolean") {
|
|
118
|
+
return !value;
|
|
117
119
|
}
|
|
118
|
-
|
|
120
|
+
throw new EvalError(`Expected ${str(value)} to be boolean`);
|
|
119
121
|
}
|
|
120
|
-
if (
|
|
121
|
-
if (typeof
|
|
122
|
-
return ~
|
|
122
|
+
if (operator === "~") {
|
|
123
|
+
if (typeof value === "bigint") {
|
|
124
|
+
return ~value;
|
|
123
125
|
}
|
|
124
|
-
throw new EvalError(
|
|
126
|
+
throw new EvalError(`Expected ${str(value)} to be a bigint`);
|
|
125
127
|
}
|
|
126
|
-
if (
|
|
127
|
-
if (
|
|
128
|
-
return
|
|
128
|
+
if (operator === "+") {
|
|
129
|
+
if (value instanceof decimal_js_1.default || typeof value === "bigint") {
|
|
130
|
+
return value;
|
|
129
131
|
}
|
|
130
|
-
throw new EvalError(
|
|
132
|
+
throw new EvalError(`Expected ${str(value)} to be a bigint or a decimal`);
|
|
131
133
|
}
|
|
132
|
-
if (
|
|
133
|
-
if (
|
|
134
|
-
return
|
|
134
|
+
if (operator === "-") {
|
|
135
|
+
if (value instanceof decimal_js_1.default) {
|
|
136
|
+
return value.negated();
|
|
135
137
|
}
|
|
136
|
-
if (typeof
|
|
137
|
-
return -
|
|
138
|
+
if (typeof value === "bigint") {
|
|
139
|
+
return -value;
|
|
138
140
|
}
|
|
139
|
-
throw new EvalError(
|
|
140
|
-
}
|
|
141
|
-
throw new EvalError(expr, `NYI unary operator ${expr.operator}`);
|
|
142
|
-
}
|
|
143
|
-
function evalBinaryLogic(expr, lVal, rVal) {
|
|
144
|
-
const op = expr.operator;
|
|
145
|
-
if (!(typeof lVal === "boolean" && typeof lVal === "boolean")) {
|
|
146
|
-
throw new EvalError(expr, `${op} expects booleans not ${lVal} and ${rVal}`);
|
|
141
|
+
throw new EvalError(`Expected ${str(value)} to be a bigint or a decimal`);
|
|
147
142
|
}
|
|
148
|
-
|
|
149
|
-
return lVal && rVal;
|
|
150
|
-
}
|
|
151
|
-
if (op === "||") {
|
|
152
|
-
return lVal || rVal;
|
|
153
|
-
}
|
|
154
|
-
throw new Error(`Unknown logic op ${op}`);
|
|
143
|
+
throw new EvalError(`Unable to process ${operator}${str(value)}`);
|
|
155
144
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
if (
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
if (expr.operator === "!=") {
|
|
171
|
-
return !equal;
|
|
172
|
-
}
|
|
173
|
-
throw new EvalError(expr, `Unknown equality op ${expr.operator}`);
|
|
174
|
-
}
|
|
175
|
-
function evalBinaryComparison(expr, lVal, rVal) {
|
|
176
|
-
const op = expr.operator;
|
|
177
|
-
const lDec = promoteToDec(lVal);
|
|
178
|
-
const rDec = promoteToDec(rVal);
|
|
179
|
-
if (op === "<") {
|
|
180
|
-
return lDec.lessThan(rDec);
|
|
145
|
+
exports.evalUnaryImpl = evalUnaryImpl;
|
|
146
|
+
function evalBinaryImpl(operator, left, right) {
|
|
147
|
+
if (utils_1.BINARY_OPERATOR_GROUPS.Logical.includes(operator)) {
|
|
148
|
+
if (!(typeof left === "boolean" && typeof right === "boolean")) {
|
|
149
|
+
throw new EvalError(`${operator} expects booleans not ${str(left)} and ${str(right)}`);
|
|
150
|
+
}
|
|
151
|
+
if (operator === "&&") {
|
|
152
|
+
return left && right;
|
|
153
|
+
}
|
|
154
|
+
if (operator === "||") {
|
|
155
|
+
return left || right;
|
|
156
|
+
}
|
|
157
|
+
throw new EvalError(`Unknown logical operator ${operator}`);
|
|
181
158
|
}
|
|
182
|
-
if (
|
|
183
|
-
|
|
159
|
+
if (utils_1.BINARY_OPERATOR_GROUPS.Equality.includes(operator)) {
|
|
160
|
+
if (typeof left === "string" || typeof right === "string") {
|
|
161
|
+
throw new EvalError(`${operator} not allowed for strings ${str(left)} and ${str(right)}`);
|
|
162
|
+
}
|
|
163
|
+
let isEqual;
|
|
164
|
+
if (left instanceof decimal_js_1.default && right instanceof decimal_js_1.default) {
|
|
165
|
+
isEqual = left.equals(right);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
isEqual = left === right;
|
|
169
|
+
}
|
|
170
|
+
if (operator === "==") {
|
|
171
|
+
return isEqual;
|
|
172
|
+
}
|
|
173
|
+
if (operator === "!=") {
|
|
174
|
+
return !isEqual;
|
|
175
|
+
}
|
|
176
|
+
throw new EvalError(`Unknown equality operator ${operator}`);
|
|
184
177
|
}
|
|
185
|
-
if (
|
|
186
|
-
|
|
178
|
+
if (utils_1.BINARY_OPERATOR_GROUPS.Comparison.includes(operator)) {
|
|
179
|
+
const leftDec = promoteToDec(left);
|
|
180
|
+
const rightDec = promoteToDec(right);
|
|
181
|
+
if (operator === "<") {
|
|
182
|
+
return leftDec.lessThan(rightDec);
|
|
183
|
+
}
|
|
184
|
+
if (operator === "<=") {
|
|
185
|
+
return leftDec.lessThanOrEqualTo(rightDec);
|
|
186
|
+
}
|
|
187
|
+
if (operator === ">") {
|
|
188
|
+
return leftDec.greaterThan(rightDec);
|
|
189
|
+
}
|
|
190
|
+
if (operator === ">=") {
|
|
191
|
+
return leftDec.greaterThanOrEqualTo(rightDec);
|
|
192
|
+
}
|
|
193
|
+
throw new EvalError(`Unknown comparison operator ${operator}`);
|
|
194
|
+
}
|
|
195
|
+
if (utils_1.BINARY_OPERATOR_GROUPS.Arithmetic.includes(operator)) {
|
|
196
|
+
const leftDec = promoteToDec(left);
|
|
197
|
+
const rightDec = promoteToDec(right);
|
|
198
|
+
let res;
|
|
199
|
+
if (operator === "+") {
|
|
200
|
+
res = leftDec.plus(rightDec);
|
|
201
|
+
}
|
|
202
|
+
else if (operator === "-") {
|
|
203
|
+
res = leftDec.minus(rightDec);
|
|
204
|
+
}
|
|
205
|
+
else if (operator === "*") {
|
|
206
|
+
res = leftDec.times(rightDec);
|
|
207
|
+
}
|
|
208
|
+
else if (operator === "/") {
|
|
209
|
+
res = leftDec.div(rightDec);
|
|
210
|
+
}
|
|
211
|
+
else if (operator === "%") {
|
|
212
|
+
res = leftDec.modulo(rightDec);
|
|
213
|
+
}
|
|
214
|
+
else if (operator === "**") {
|
|
215
|
+
res = leftDec.pow(rightDec);
|
|
216
|
+
}
|
|
217
|
+
else {
|
|
218
|
+
throw new EvalError(`Unknown arithmetic operator ${operator}`);
|
|
219
|
+
}
|
|
220
|
+
return demoteFromDec(res);
|
|
187
221
|
}
|
|
188
|
-
if (
|
|
189
|
-
|
|
222
|
+
if (utils_1.BINARY_OPERATOR_GROUPS.Bitwise.includes(operator)) {
|
|
223
|
+
if (!(typeof left === "bigint" && typeof right === "bigint")) {
|
|
224
|
+
throw new EvalError(`${operator} expects integers not ${str(left)} and ${str(right)}`);
|
|
225
|
+
}
|
|
226
|
+
if (operator === "<<") {
|
|
227
|
+
return left << right;
|
|
228
|
+
}
|
|
229
|
+
if (operator === ">>") {
|
|
230
|
+
return left >> right;
|
|
231
|
+
}
|
|
232
|
+
if (operator === "|") {
|
|
233
|
+
return left | right;
|
|
234
|
+
}
|
|
235
|
+
if (operator === "&") {
|
|
236
|
+
return left & right;
|
|
237
|
+
}
|
|
238
|
+
if (operator === "^") {
|
|
239
|
+
return left ^ right;
|
|
240
|
+
}
|
|
241
|
+
throw new EvalError(`Unknown bitwise operator ${operator}`);
|
|
190
242
|
}
|
|
191
|
-
throw new EvalError(
|
|
243
|
+
throw new EvalError(`Unable to process ${str(left)} ${operator} ${str(right)}`);
|
|
192
244
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
204
|
-
else if (op === "*") {
|
|
205
|
-
res = lDec.times(rDec);
|
|
206
|
-
}
|
|
207
|
-
else if (op === "/") {
|
|
208
|
-
res = lDec.div(rDec);
|
|
209
|
-
}
|
|
210
|
-
else if (op === "%") {
|
|
211
|
-
res = lDec.modulo(rDec);
|
|
212
|
-
}
|
|
213
|
-
else if (op === "**") {
|
|
214
|
-
res = lDec.pow(rDec);
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
throw new EvalError(expr, `Unknown arithmetic op ${expr.operator}`);
|
|
245
|
+
exports.evalBinaryImpl = evalBinaryImpl;
|
|
246
|
+
function evalLiteral(node) {
|
|
247
|
+
try {
|
|
248
|
+
return evalLiteralImpl(node.kind, node.kind === ast_1.LiteralKind.HexString ? node.hexValue : node.value, node.subdenomination);
|
|
249
|
+
}
|
|
250
|
+
catch (e) {
|
|
251
|
+
if (e instanceof EvalError) {
|
|
252
|
+
e.expr = node;
|
|
253
|
+
}
|
|
254
|
+
throw e;
|
|
218
255
|
}
|
|
219
|
-
return demoteFromDec(res);
|
|
220
256
|
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
}
|
|
232
|
-
if (op === "|") {
|
|
233
|
-
return lVal | rVal;
|
|
234
|
-
}
|
|
235
|
-
if (op === "&") {
|
|
236
|
-
return lVal & rVal;
|
|
237
|
-
}
|
|
238
|
-
if (op === "^") {
|
|
239
|
-
return lVal ^ rVal;
|
|
257
|
+
exports.evalLiteral = evalLiteral;
|
|
258
|
+
function evalUnary(node) {
|
|
259
|
+
try {
|
|
260
|
+
return evalUnaryImpl(node.operator, evalConstantExpr(node.vSubExpression));
|
|
261
|
+
}
|
|
262
|
+
catch (e) {
|
|
263
|
+
if (e instanceof EvalError && e.expr === undefined) {
|
|
264
|
+
e.expr = node;
|
|
265
|
+
}
|
|
266
|
+
throw e;
|
|
240
267
|
}
|
|
241
|
-
throw new EvalError(expr, `Unknown bitwise op ${expr.operator}`);
|
|
242
268
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
return evalBinaryComparison(expr, lVal, rVal);
|
|
254
|
-
}
|
|
255
|
-
if (utils_1.BINARY_OPERATOR_GROUPS.Arithmetic.includes(expr.operator)) {
|
|
256
|
-
return evalBinaryArithmetic(expr, lVal, rVal);
|
|
257
|
-
}
|
|
258
|
-
if (utils_1.BINARY_OPERATOR_GROUPS.Bitwise.includes(expr.operator)) {
|
|
259
|
-
return evalBinaryBitwise(expr, lVal, rVal);
|
|
269
|
+
exports.evalUnary = evalUnary;
|
|
270
|
+
function evalBinary(node) {
|
|
271
|
+
try {
|
|
272
|
+
return evalBinaryImpl(node.operator, evalConstantExpr(node.vLeftExpression), evalConstantExpr(node.vRightExpression));
|
|
273
|
+
}
|
|
274
|
+
catch (e) {
|
|
275
|
+
if (e instanceof EvalError && e.expr === undefined) {
|
|
276
|
+
e.expr = node;
|
|
277
|
+
}
|
|
278
|
+
throw e;
|
|
260
279
|
}
|
|
261
|
-
throw new EvalError(expr, `Unknown binary op ${expr.operator}`);
|
|
262
280
|
}
|
|
281
|
+
exports.evalBinary = evalBinary;
|
|
263
282
|
/**
|
|
264
283
|
* Given a constant expression `expr` evaluate it to a concrete `Value`.
|
|
265
284
|
* If `expr` is not constant throw `NonConstantExpressionError`.
|
|
@@ -267,44 +286,44 @@ function evalBinary(expr) {
|
|
|
267
286
|
* TODO: The order of some operations changed in some version.
|
|
268
287
|
* So perhaps to be fully precise here we will need a compiler version too?
|
|
269
288
|
*/
|
|
270
|
-
function evalConstantExpr(
|
|
271
|
-
if (!isConstant(
|
|
272
|
-
throw new NonConstantExpressionError(
|
|
289
|
+
function evalConstantExpr(node) {
|
|
290
|
+
if (!isConstant(node)) {
|
|
291
|
+
throw new NonConstantExpressionError(node);
|
|
273
292
|
}
|
|
274
|
-
if (
|
|
275
|
-
return evalLiteral(
|
|
293
|
+
if (node instanceof ast_1.Literal) {
|
|
294
|
+
return evalLiteral(node);
|
|
276
295
|
}
|
|
277
|
-
if (
|
|
278
|
-
return evalUnary(
|
|
296
|
+
if (node instanceof ast_1.UnaryOperation) {
|
|
297
|
+
return evalUnary(node);
|
|
279
298
|
}
|
|
280
|
-
if (
|
|
281
|
-
return evalBinary(
|
|
299
|
+
if (node instanceof ast_1.BinaryOperation) {
|
|
300
|
+
return evalBinary(node);
|
|
282
301
|
}
|
|
283
|
-
if (
|
|
284
|
-
return evalConstantExpr(
|
|
302
|
+
if (node instanceof ast_1.TupleExpression) {
|
|
303
|
+
return evalConstantExpr(node.vOriginalComponents[0]);
|
|
285
304
|
}
|
|
286
|
-
if (
|
|
287
|
-
return evalConstantExpr(
|
|
288
|
-
? evalConstantExpr(
|
|
289
|
-
: evalConstantExpr(
|
|
305
|
+
if (node instanceof ast_1.Conditional) {
|
|
306
|
+
return evalConstantExpr(node.vCondition)
|
|
307
|
+
? evalConstantExpr(node.vTrueExpression)
|
|
308
|
+
: evalConstantExpr(node.vFalseExpression);
|
|
290
309
|
}
|
|
291
|
-
if (
|
|
292
|
-
const decl =
|
|
310
|
+
if (node instanceof ast_1.Identifier) {
|
|
311
|
+
const decl = node.vReferencedDeclaration;
|
|
293
312
|
if (decl instanceof ast_1.VariableDeclaration) {
|
|
294
313
|
return evalConstantExpr(decl.vValue);
|
|
295
314
|
}
|
|
296
315
|
}
|
|
297
|
-
if (
|
|
316
|
+
if (node instanceof ast_1.FunctionCall) {
|
|
298
317
|
/**
|
|
299
318
|
* @todo Implement properly, as Solidity permits overflow and underflow
|
|
300
|
-
* during constant evaluation.
|
|
319
|
+
* during constant evaluation when performing type conversions.
|
|
301
320
|
*/
|
|
302
|
-
return evalConstantExpr(
|
|
321
|
+
return evalConstantExpr(node.vArguments[0]);
|
|
303
322
|
}
|
|
304
323
|
/// Note that from the point of view of the type system constant conditionals and
|
|
305
324
|
/// indexing in constant array literals are not considered constant expressions.
|
|
306
325
|
/// So for now we don't support them, but we may change that in the future.
|
|
307
|
-
throw new EvalError(
|
|
326
|
+
throw new EvalError(`Unable to evaluate constant expression ${(0, misc_1.pp)(node)}`, node);
|
|
308
327
|
}
|
|
309
328
|
exports.evalConstantExpr = evalConstantExpr;
|
|
310
329
|
//# sourceMappingURL=eval_const.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eval_const.js","sourceRoot":"","sources":["../../src/types/eval_const.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"eval_const.js","sourceRoot":"","sources":["../../src/types/eval_const.ts"],"names":[],"mappings":"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"}
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare const BINARY_OPERATOR_GROUPS: {
|
|
|
12
12
|
Equality: string[];
|
|
13
13
|
Logical: string[];
|
|
14
14
|
};
|
|
15
|
-
export declare function getTypeForCompilerVersion(typing: VersionDependentType, compilerVersion: string): TypeNode | undefined;
|
|
15
|
+
export declare function getTypeForCompilerVersion(typing: TypeNode | VersionDependentType, compilerVersion: string): TypeNode | undefined;
|
|
16
16
|
/**
|
|
17
17
|
* Given 2 function pointer's visibilities infer a common visibility thats compatible with both.
|
|
18
18
|
* This is used to infer the visibility of the expression `flag ? fun1 : fun2` where fun1 and fun2 are
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EACH,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,UAAU,EAEV,YAAY,EAEZ,kBAAkB,EAGlB,kBAAkB,EAClB,kBAAkB,EAElB,UAAU,EAGV,mBAAmB,EACtB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAGH,mBAAmB,EAInB,eAAe,EACf,YAAY,EAEZ,OAAO,EAIP,QAAQ,EAKR,QAAQ,EAER,cAAc,EACjB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,2BAA2B,sBAYtC,CAAC;AAEH,eAAO,MAAM,aAAa,UAAyE,CAAC;AAEpG,eAAO,MAAM,sBAAsB;;;;;;CAMlC,CAAC;AAEF,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EACH,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,UAAU,EAEV,YAAY,EAEZ,kBAAkB,EAGlB,kBAAkB,EAClB,kBAAkB,EAElB,UAAU,EAGV,mBAAmB,EACtB,MAAM,QAAQ,CAAC;AAGhB,OAAO,EAAE,iBAAiB,EAAsB,MAAM,OAAO,CAAC;AAC9D,OAAO,EAGH,mBAAmB,EAInB,eAAe,EACf,YAAY,EAEZ,OAAO,EAIP,QAAQ,EAKR,QAAQ,EAER,cAAc,EACjB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,2BAA2B,sBAYtC,CAAC;AAEH,eAAO,MAAM,aAAa,UAAyE,CAAC;AAEpG,eAAO,MAAM,sBAAsB;;;;;;CAMlC,CAAC;AAEF,wBAAgB,yBAAyB,CACrC,MAAM,EAAE,QAAQ,GAAG,oBAAoB,EACvC,eAAe,EAAE,MAAM,GACxB,QAAQ,GAAG,SAAS,CAQtB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,CAAC,EAAE,kBAAkB,EACrB,CAAC,EAAE,kBAAkB,GACtB,kBAAkB,GAAG,SAAS,CAsBhC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CACzB,CAAC,EAAE,YAAY,GAAG,mBAAmB,GAAG,eAAe,EACvD,CAAC,EAAE,YAAY,GAAG,mBAAmB,GAAG,eAAe,GACxD,eAAe,CAgBjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,UAAU,GAAG,UAAU,CAU9D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,GAAG,QAAQ,CA4C1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,GAAG,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC,CA6BnF;AAED,oBAAY,eAAe,GACrB,cAAc,GACd,kBAAkB,GAClB,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,kBAAkB,CAAC;AAEzB,wBAAgB,YAAY,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAEzD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAO3D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAoB3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,UAAU,EAAE,EACnB,eAAe,EAAE,MAAM,GACxB,iBAAiB,CAwCnB;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAiBlE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CAYtF;AAED,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAE5E;AAWD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CA6IzF;AAgBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,GAAG,SAAS,CAuB9E;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,QAAQ,CActD"}
|
package/dist/types/utils.js
CHANGED
|
@@ -33,6 +33,9 @@ exports.BINARY_OPERATOR_GROUPS = {
|
|
|
33
33
|
Logical: ["&&", "||"]
|
|
34
34
|
};
|
|
35
35
|
function getTypeForCompilerVersion(typing, compilerVersion) {
|
|
36
|
+
if (typing instanceof ast_2.TypeNode) {
|
|
37
|
+
return typing;
|
|
38
|
+
}
|
|
36
39
|
const [type, version] = typing;
|
|
37
40
|
return (0, semver_1.satisfies)(compilerVersion, version) ? type : undefined;
|
|
38
41
|
}
|
package/dist/types/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solc-typed-ast",
|
|
3
|
-
"version": "11.0.
|
|
3
|
+
"version": "11.0.1",
|
|
4
4
|
"description": "A TypeScript library providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipulate it.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"files": [
|