@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
26 lines (24 loc) • 3.46 kB
JavaScript
;
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=