UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

22 lines (20 loc) 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Helper_1 = require("../Helper"); class FunctionHelper extends Helper_1.Helper { constructor({ body }) { super(); this.body = body; } emit(sb, node, options) { if (options.pushValue) { const jump = sb.jumpTable.add(sb, node, () => { const innerOptions = { superClass: options.superClass }; this.body(innerOptions); }); sb.emitPushInt(node, jump); } } } exports.FunctionHelper = FunctionHelper; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkZ1bmN0aW9uSGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsc0NBQW1DO0FBUW5DLE1BQWEsY0FBZSxTQUFRLGVBQU07SUFHeEMsWUFBbUIsRUFBRSxJQUFJLEVBQXlCO1FBQ2hELEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVNLElBQUksQ0FBQyxFQUFpQixFQUFFLElBQWEsRUFBRSxPQUFxQjtRQUNqRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQzNDLE1BQU0sWUFBWSxHQUFHLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUNILEVBQUUsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztDQUNGO0FBakJELHdDQWlCQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2hlbHBlci9mdW5jdGlvbi9GdW5jdGlvbkhlbHBlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHsgU2NyaXB0QnVpbGRlciB9IGZyb20gJy4uLy4uL3NiJztcbmltcG9ydCB7IFZpc2l0T3B0aW9ucyB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEhlbHBlciB9IGZyb20gJy4uL0hlbHBlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25IZWxwZXJPcHRpb25zIHtcbiAgcmVhZG9ubHkgYm9keTogKG9wdGlvbnM6IFZpc2l0T3B0aW9ucykgPT4gdm9pZDtcbn1cblxuLy8gSW5wdXQ6IFtdXG4vLyBPdXRwdXQ6IFtqdW1wVGFyZ2V0XVxuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uSGVscGVyIGV4dGVuZHMgSGVscGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBib2R5OiAob3B0aW9uczogVmlzaXRPcHRpb25zKSA9PiB2b2lkO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih7IGJvZHkgfTogRnVuY3Rpb25IZWxwZXJPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmJvZHkgPSBib2R5O1xuICB9XG5cbiAgcHVibGljIGVtaXQoc2I6IFNjcmlwdEJ1aWxkZXIsIG5vZGU6IHRzLk5vZGUsIG9wdGlvbnM6IFZpc2l0T3B0aW9ucyk6IHZvaWQge1xuICAgIGlmIChvcHRpb25zLnB1c2hWYWx1ZSkge1xuICAgICAgY29uc3QganVtcCA9IHNiLmp1bXBUYWJsZS5hZGQoc2IsIG5vZGUsICgpID0+IHtcbiAgICAgICAgY29uc3QgaW5uZXJPcHRpb25zID0geyBzdXBlckNsYXNzOiBvcHRpb25zLnN1cGVyQ2xhc3MgfTtcbiAgICAgICAgdGhpcy5ib2R5KGlubmVyT3B0aW9ucyk7XG4gICAgICB9KTtcbiAgICAgIHNiLmVtaXRQdXNoSW50KG5vZGUsIGp1bXApO1xuICAgIH1cbiAgfVxufVxuIl19