UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

25 lines (23 loc) 3.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const DiagnosticCode_1 = require("../../DiagnosticCode"); const DiagnosticMessage_1 = require("../../DiagnosticMessage"); const types_1 = require("./types"); class BuiltinMemberValue { constructor() { this.types = new Set([types_1.BuiltinType.MemberValue]); this.canSet = false; this.isReadonly = true; } emitValue(sb, node, options) { if (!this.canSet && options.setValue) { if (!this.isReadonly) { sb.context.reportError(node, DiagnosticCode_1.DiagnosticCode.InvalidBuiltinModify, DiagnosticMessage_1.DiagnosticMessage.CannotModifyBuiltin); } return; } this.emit(sb, node, options); } } exports.BuiltinMemberValue = BuiltinMemberValue; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJ1aWx0aW5NZW1iZXJWYWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHlEQUFzRDtBQUN0RCwrREFBNEQ7QUFHNUQsbUNBQTBHO0FBRTFHLE1BQXNCLGtCQUFrQjtJQUF4QztRQUNrQixVQUFLLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxtQkFBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixlQUFVLEdBQVksSUFBSSxDQUFDO0lBaUJoRCxDQUFDO0lBZlEsU0FBUyxDQUFDLEVBQWlCLEVBQUUsSUFBMEIsRUFBRSxPQUFxQjtRQUNuRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUVwQixFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsK0JBQWMsQ0FBQyxvQkFBb0IsRUFBRSxxQ0FBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQzFHO1lBRUQsT0FBTztTQUNSO1FBR0QsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FHRjtBQXBCRCxnREFvQkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9idWlsdGlucy9CdWlsdGluTWVtYmVyVmFsdWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWFnbm9zdGljQ29kZSB9IGZyb20gJy4uLy4uL0RpYWdub3N0aWNDb2RlJztcbmltcG9ydCB7IERpYWdub3N0aWNNZXNzYWdlIH0gZnJvbSAnLi4vLi4vRGlhZ25vc3RpY01lc3NhZ2UnO1xuaW1wb3J0IHsgU2NyaXB0QnVpbGRlciB9IGZyb20gJy4uL3NiJztcbmltcG9ydCB7IFZpc2l0T3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEJ1aWx0aW5NZW1iZXJWYWx1ZSBhcyBCdWlsdGluTWVtYmVyVmFsdWVUeXBlLCBCdWlsdGluVHlwZSwgTWVtYmVyTGlrZUV4cHJlc3Npb24gfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJ1aWx0aW5NZW1iZXJWYWx1ZSBpbXBsZW1lbnRzIEJ1aWx0aW5NZW1iZXJWYWx1ZVR5cGUge1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZXMgPSBuZXcgU2V0KFtCdWlsdGluVHlwZS5NZW1iZXJWYWx1ZV0pO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY2FuU2V0OiBib29sZWFuID0gZmFsc2U7XG4gIHByb3RlY3RlZCByZWFkb25seSBpc1JlYWRvbmx5OiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgZW1pdFZhbHVlKHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiBNZW1iZXJMaWtlRXhwcmVzc2lvbiwgb3B0aW9uczogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNhblNldCAmJiBvcHRpb25zLnNldFZhbHVlKSB7XG4gICAgICBpZiAoIXRoaXMuaXNSZWFkb25seSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBzYi5jb250ZXh0LnJlcG9ydEVycm9yKG5vZGUsIERpYWdub3N0aWNDb2RlLkludmFsaWRCdWlsdGluTW9kaWZ5LCBEaWFnbm9zdGljTWVzc2FnZS5DYW5ub3RNb2RpZnlCdWlsdGluKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFt2YWxdXG4gICAgdGhpcy5lbWl0KHNiLCBub2RlLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBlbWl0KHNiOiBTY3JpcHRCdWlsZGVyLCBub2RlOiBNZW1iZXJMaWtlRXhwcmVzc2lvbiwgb3B0aW9uczogVmlzaXRPcHRpb25zKTogdm9pZDtcbn1cbiJdfQ==