@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
27 lines (25 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BuiltinInstanceMemberStructuredStorageProperty = void 0;
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=BuiltinInstanceMemberStructuredStorageProperty.js.map