@openzeppelin/upgrade-safe-transpiler
Version:
Solidity preprocessor used to generate OpenZeppelin Contracts Upgrade Safe.
20 lines • 955 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.newFunctionPosition = void 0;
const utils_1 = require("solidity-ast/utils");
const contract_start_position_1 = require("./contract-start-position");
function newFunctionPosition(contract, tools) {
const firstFunctionIndex = contract.nodes.findIndex((0, utils_1.isNodeType)('FunctionDefinition'));
if (firstFunctionIndex <= 0) {
return (0, contract_start_position_1.contractStartPosition)(contract, tools);
}
else {
const prevNode = contract.nodes[firstFunctionIndex - 1];
// VariableDeclaration node bounds don't include the semicolon, so we look for it
// in case prevNode is that type of node
const m = tools.matchOriginalAfter(prevNode, /(\s*;)?([ \t\v\f]*[\n\r])*/);
return m.start + m.length;
}
}
exports.newFunctionPosition = newFunctionPosition;
//# sourceMappingURL=new-function-position.js.map