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