UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

48 lines (46 loc) 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.add = void 0; const BuiltinInstanceOf_1 = require("../BuiltinInstanceOf"); const BuiltinInterface_1 = require("../BuiltinInterface"); const concat_1 = require("./concat"); const equals_1 = require("./equals"); const from_1 = require("./from"); const length_1 = require("./length"); const slice_1 = require("./slice"); const toInteger_1 = require("./toInteger"); const toString_1 = require("./toString"); class BufferInterface extends BuiltinInterface_1.BuiltinInterface { } class BufferValue extends BuiltinInstanceOf_1.BuiltinInstanceOf { constructor() { super(...arguments); this.type = 'BufferConstructor'; } emitInstanceOf(sb, node, optionsIn) { const options = sb.pushValueOptions(optionsIn); sb.visit(node, options); if (optionsIn.pushValue) { sb.emitHelper(node, options, sb.helpers.isBuffer); sb.emitHelper(node, options, sb.helpers.wrapBoolean); } else { sb.emitOp(node, 'DROP'); } } } class BufferConstructorInterface extends BuiltinInterface_1.BuiltinInterface { } exports.add = (builtins) => { builtins.addInterface('Buffer', new BufferInterface()); builtins.addValue('Buffer', new BufferValue()); builtins.addGlobalMember('Buffer', 'equals', new equals_1.BufferEquals()); builtins.addGlobalMember('Buffer', 'length', new length_1.BufferLength()); builtins.addGlobalMember('Buffer', 'slice', new slice_1.BufferSlice()); builtins.addGlobalMember('Buffer', 'toInteger', new toInteger_1.BufferToInteger()); builtins.addGlobalMember('Buffer', 'toString', new toString_1.BufferToString()); builtins.addInterface('BufferConstructor', new BufferConstructorInterface()); builtins.addGlobalMember('BufferConstructor', 'concat', new concat_1.BufferConcat()); builtins.addGlobalMember('BufferConstructor', 'from', new from_1.BufferFrom()); }; //# sourceMappingURL=index.js.map