UNPKG

@solvprotocol/upgrade-safe-transpiler

Version:

Solidity preprocessor used to generate OpenZeppelin Contracts Upgrade Safe.

21 lines 947 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.newFunctionPosition = void 0; const ast_utils_1 = require("../../solc/ast-utils"); const match_1 = require("../../utils/match"); function newFunctionPosition(contract, { readOriginal }) { const offset = (0, ast_utils_1.getNodeBounds)(contract).start; let searchStart = 0; if (contract.baseContracts.length > 0) { const [lastParent] = contract.baseContracts.slice(-1); const pb = (0, ast_utils_1.getNodeBounds)(lastParent); searchStart = pb.start + pb.length - offset; } const brace = (0, match_1.matchBufferFrom)(readOriginal(contract, 'buffer'), /\{\n?/, searchStart); if (!brace) { throw new Error(`Can't find start of contract ${contract.name}`); } return offset + brace.start + brace.length; } exports.newFunctionPosition = newFunctionPosition; //# sourceMappingURL=new-function-position.js.map