UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

26 lines (24 loc) 3.45 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const constants_1 = require("../constants"); const types_1 = require("./types"); class BuiltinInstanceMemberStructuredStorageProperty { constructor(type, property) { this.type = type; this.property = property; this.types = new Set([types_1.BuiltinType.InstanceMemberValue]); } emitValue(sb, node, options, visited = false) { if (visited) { sb.emitOp(node, 'DROP'); } if (options.pushValue) { sb.emitHelper(node, options, sb.helpers.createStructuredStorage({ type: constants_1.getTypeFromStructuredStorageType(this.type), prefix: this.property, })); } } } exports.BuiltinInstanceMemberStructuredStorageProperty = BuiltinInstanceMemberStructuredStorageProperty; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1aWx0aW5JbnN0YW5jZU1lbWJlclN0cnVjdHVyZWRTdG9yYWdlUHJvcGVydHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw0Q0FBdUY7QUFHdkYsbUNBQXdGO0FBR3hGLE1BQWEsOENBQThDO0lBR3pELFlBQW9DLElBQTJCLEVBQW1CLFFBQWdCO1FBQTlELFNBQUksR0FBSixJQUFJLENBQXVCO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQVE7UUFGbEYsVUFBSyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsbUJBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFFa0MsQ0FBQztJQUUvRixTQUFTLENBQUMsRUFBaUIsRUFBRSxJQUEwQixFQUFFLE9BQXFCLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDcEcsSUFBSSxPQUFPLEVBQUU7WUFFWCxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN6QjtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUVyQixFQUFFLENBQUMsVUFBVSxDQUNYLElBQUksRUFDSixPQUFPLEVBQ1AsRUFBRSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztnQkFDakMsSUFBSSxFQUFFLDRDQUFnQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2pELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTthQUN0QixDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQztDQUNGO0FBdkJELHdHQXVCQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2J1aWx0aW5zL0J1aWx0aW5JbnN0YW5jZU1lbWJlclN0cnVjdHVyZWRTdG9yYWdlUHJvcGVydHkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRUeXBlRnJvbVN0cnVjdHVyZWRTdG9yYWdlVHlwZSwgU3RydWN0dXJlZFN0b3JhZ2VUeXBlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBCdWlsdGluSW5zdGFuY2VNZW1iZXJWYWx1ZSwgQnVpbHRpblR5cGUsIE1lbWJlckxpa2VFeHByZXNzaW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZSBleHBvcnQtbmFtZVxuZXhwb3J0IGNsYXNzIEJ1aWx0aW5JbnN0YW5jZU1lbWJlclN0cnVjdHVyZWRTdG9yYWdlUHJvcGVydHkgaW1wbGVtZW50cyBCdWlsdGluSW5zdGFuY2VNZW1iZXJWYWx1ZSB7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlcyA9IG5ldyBTZXQoW0J1aWx0aW5UeXBlLkluc3RhbmNlTWVtYmVyVmFsdWVdKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0eXBlOiBTdHJ1Y3R1cmVkU3RvcmFnZVR5cGUsIHByaXZhdGUgcmVhZG9ubHkgcHJvcGVydHk6IHN0cmluZykge31cblxuICBwdWJsaWMgZW1pdFZhbHVlKHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiBNZW1iZXJMaWtlRXhwcmVzc2lvbiwgb3B0aW9uczogVmlzaXRPcHRpb25zLCB2aXNpdGVkID0gZmFsc2UpOiB2b2lkIHtcbiAgICBpZiAodmlzaXRlZCkge1xuICAgICAgLy8gW11cbiAgICAgIHNiLmVtaXRPcChub2RlLCAnRFJPUCcpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnB1c2hWYWx1ZSkge1xuICAgICAgLy8gW3ZhbF1cbiAgICAgIHNiLmVtaXRIZWxwZXIoXG4gICAgICAgIG5vZGUsXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICAgIHNiLmhlbHBlcnMuY3JlYXRlU3RydWN0dXJlZFN0b3JhZ2Uoe1xuICAgICAgICAgIHR5cGU6IGdldFR5cGVGcm9tU3RydWN0dXJlZFN0b3JhZ2VUeXBlKHRoaXMudHlwZSksXG4gICAgICAgICAgcHJlZml4OiB0aGlzLnByb3BlcnR5LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=