UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

20 lines (18 loc) 3.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const DiagnosticCode_1 = require("../../../../DiagnosticCode"); const DiagnosticMessage_1 = require("../../../../DiagnosticMessage"); const BuiltinMemberCall_1 = require("../../BuiltinMemberCall"); class AddressFrom extends BuiltinMemberCall_1.BuiltinMemberCall { emitCall(sb, _func, node, options) { const address = sb.context.analysis.extractLiteralAddress(node); if (address === undefined) { sb.context.reportError(node, DiagnosticCode_1.DiagnosticCode.InvalidLiteral, DiagnosticMessage_1.DiagnosticMessage.InvalidAddress); return; } sb.emitPushBuffer(node, address); sb.emitHelper(node, options, sb.helpers.wrapBuffer); } } exports.AddressFrom = AddressFrom; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZyb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSwrREFBNEQ7QUFDNUQscUVBQWtFO0FBR2xFLCtEQUE0RDtBQUk1RCxNQUFhLFdBQVksU0FBUSxxQ0FBaUI7SUFDekMsUUFBUSxDQUNiLEVBQWlCLEVBQ2pCLEtBQTJCLEVBQzNCLElBQXVCLEVBQ3ZCLE9BQXFCO1FBRXJCLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hFLElBQUksT0FBTyxLQUFLLFNBQVMsRUFBRTtZQUN6QixFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsK0JBQWMsQ0FBQyxjQUFjLEVBQUUscUNBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFFOUYsT0FBTztTQUNSO1FBR0QsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFakMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEQsQ0FBQztDQUNGO0FBbkJELGtDQW1CQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2J1aWx0aW5zL2NvbnRyYWN0L2FkZHJlc3MvZnJvbS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IERpYWdub3N0aWNDb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vRGlhZ25vc3RpY0NvZGUnO1xuaW1wb3J0IHsgRGlhZ25vc3RpY01lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi8uLi9EaWFnbm9zdGljTWVzc2FnZSc7XG5pbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgQnVpbHRpbk1lbWJlckNhbGwgfSBmcm9tICcuLi8uLi9CdWlsdGluTWVtYmVyQ2FsbCc7XG5pbXBvcnQgeyBNZW1iZXJMaWtlRXhwcmVzc2lvbiB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lIGV4cG9ydC1uYW1lXG5leHBvcnQgY2xhc3MgQWRkcmVzc0Zyb20gZXh0ZW5kcyBCdWlsdGluTWVtYmVyQ2FsbCB7XG4gIHB1YmxpYyBlbWl0Q2FsbChcbiAgICBzYjogU2NyaXB0QnVpbGRlcixcbiAgICBfZnVuYzogTWVtYmVyTGlrZUV4cHJlc3Npb24sXG4gICAgbm9kZTogdHMuQ2FsbEV4cHJlc3Npb24sXG4gICAgb3B0aW9uczogVmlzaXRPcHRpb25zLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBhZGRyZXNzID0gc2IuY29udGV4dC5hbmFseXNpcy5leHRyYWN0TGl0ZXJhbEFkZHJlc3Mobm9kZSk7XG4gICAgaWYgKGFkZHJlc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgc2IuY29udGV4dC5yZXBvcnRFcnJvcihub2RlLCBEaWFnbm9zdGljQ29kZS5JbnZhbGlkTGl0ZXJhbCwgRGlhZ25vc3RpY01lc3NhZ2UuSW52YWxpZEFkZHJlc3MpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gW2J1ZmZlcl1cbiAgICBzYi5lbWl0UHVzaEJ1ZmZlcihub2RlLCBhZGRyZXNzKTtcbiAgICAvLyBbdmFsXVxuICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy53cmFwQnVmZmVyKTtcbiAgfVxufVxuIl19