UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

26 lines (24 loc) 3.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const types_1 = require("./types"); class BuiltinInstanceMemberStorageProperty { constructor(property) { 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.setValue) { sb.emitPushString(node, this.property); sb.emitHelper(node, options, sb.helpers.putCommonStorage); } if (options.pushValue) { sb.emitPushString(node, this.property); sb.emitHelper(node, options, sb.helpers.getCommonStorage); } } } exports.BuiltinInstanceMemberStorageProperty = BuiltinInstanceMemberStorageProperty; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1aWx0aW5JbnN0YW5jZU1lbWJlclN0b3JhZ2VQcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLG1DQUF3RjtBQUd4RixNQUFhLG9DQUFvQztJQUcvQyxZQUFvQyxRQUFnQjtRQUFoQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBRnBDLFVBQUssR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLG1CQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBRVosQ0FBQztJQUVqRCxTQUFTLENBQUMsRUFBaUIsRUFBRSxJQUEwQixFQUFFLE9BQXFCLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDcEcsSUFBSSxPQUFPLEVBQUU7WUFFWCxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUN6QjtRQUVELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUVwQixFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFdkMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMzRDtRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsRUFBRTtZQUVyQixFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFdkMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMzRDtJQUNILENBQUM7Q0FDRjtBQXpCRCxvRkF5QkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9idWlsdGlucy9CdWlsdGluSW5zdGFuY2VNZW1iZXJTdG9yYWdlUHJvcGVydHkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JpcHRCdWlsZGVyIH0gZnJvbSAnLi4vc2InO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQnVpbHRpbkluc3RhbmNlTWVtYmVyVmFsdWUsIEJ1aWx0aW5UeXBlLCBNZW1iZXJMaWtlRXhwcmVzc2lvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgZXhwb3J0LW5hbWVcbmV4cG9ydCBjbGFzcyBCdWlsdGluSW5zdGFuY2VNZW1iZXJTdG9yYWdlUHJvcGVydHkgaW1wbGVtZW50cyBCdWlsdGluSW5zdGFuY2VNZW1iZXJWYWx1ZSB7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlcyA9IG5ldyBTZXQoW0J1aWx0aW5UeXBlLkluc3RhbmNlTWVtYmVyVmFsdWVdKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwcm9wZXJ0eTogc3RyaW5nKSB7fVxuXG4gIHB1YmxpYyBlbWl0VmFsdWUoc2I6IFNjcmlwdEJ1aWxkZXIsIG5vZGU6IE1lbWJlckxpa2VFeHByZXNzaW9uLCBvcHRpb25zOiBWaXNpdE9wdGlvbnMsIHZpc2l0ZWQgPSBmYWxzZSk6IHZvaWQge1xuICAgIGlmICh2aXNpdGVkKSB7XG4gICAgICAvLyBbXVxuICAgICAgc2IuZW1pdE9wKG5vZGUsICdEUk9QJyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuc2V0VmFsdWUpIHtcbiAgICAgIC8vIFtzdHJpbmcsIHZhbF1cbiAgICAgIHNiLmVtaXRQdXNoU3RyaW5nKG5vZGUsIHRoaXMucHJvcGVydHkpO1xuICAgICAgLy8gW11cbiAgICAgIHNiLmVtaXRIZWxwZXIobm9kZSwgb3B0aW9ucywgc2IuaGVscGVycy5wdXRDb21tb25TdG9yYWdlKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5wdXNoVmFsdWUpIHtcbiAgICAgIC8vIFtzdHJpbmddXG4gICAgICBzYi5lbWl0UHVzaFN0cmluZyhub2RlLCB0aGlzLnByb3BlcnR5KTtcbiAgICAgIC8vIFt2YWxdXG4gICAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMuZ2V0Q29tbW9uU3RvcmFnZSk7XG4gICAgfVxuICB9XG59XG4iXX0=