@solvprotocol/upgrade-safe-transpiler
Version:
Solidity preprocessor used to generate OpenZeppelin Contracts Upgrade Safe.
27 lines • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeStateVarInits = void 0;
const utils_1 = require("solidity-ast/utils");
const ast_utils_1 = require("../solc/ast-utils");
const upgrades_overrides_1 = require("../utils/upgrades-overrides");
function* removeStateVarInits(sourceUnit) {
for (const contractNode of (0, utils_1.findAll)('ContractDefinition', sourceUnit)) {
if ((0, upgrades_overrides_1.hasConstructorOverride)(contractNode)) {
continue;
}
for (const varDecl of (0, utils_1.findAll)('VariableDeclaration', contractNode)) {
if (varDecl.stateVariable && varDecl.value && !varDecl.constant) {
if ((0, upgrades_overrides_1.hasOverride)(varDecl, 'state-variable-assignment')) {
continue;
}
yield {
...(0, ast_utils_1.getNodeBounds)(varDecl),
kind: 'purge-var-inits',
transform: source => source.replace(/\s*=.*/s, ''),
};
}
}
}
}
exports.removeStateVarInits = removeStateVarInits;
//# sourceMappingURL=purge-var-inits.js.map