UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

28 lines (26 loc) 2.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ProgramCounter_1 = require("./ProgramCounter"); class DeferredProgramCounter extends ProgramCounter_1.ProgramCounter { constructor(offset = 0) { super(); this.offset = offset; } plus(offset) { return new DeferredProgramCounter(this.offset + offset); } equals(other) { return this === other; } setPC(pc) { this.mutablePC = pc; } getPC() { if (this.mutablePC === undefined) { throw new Error('Unknown PC'); } return this.mutablePC.getPC() + this.offset; } } exports.DeferredProgramCounter = DeferredProgramCounter; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRlZmVycmVkUHJvZ3JhbUNvdW50ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBa0Q7QUFFbEQsTUFBYSxzQkFBdUIsU0FBUSwrQkFBYztJQUd4RCxZQUFvQyxTQUFpQixDQUFDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRDBCLFdBQU0sR0FBTixNQUFNLENBQVk7SUFFdEQsQ0FBQztJQUVNLElBQUksQ0FBQyxNQUFjO1FBQ3hCLE9BQU8sSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBcUI7UUFDakMsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxLQUFLLENBQUMsRUFBa0I7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO1lBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDL0I7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM5QyxDQUFDO0NBQ0Y7QUExQkQsd0RBMEJDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvcGMvRGVmZXJyZWRQcm9ncmFtQ291bnRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2dyYW1Db3VudGVyIH0gZnJvbSAnLi9Qcm9ncmFtQ291bnRlcic7XG5cbmV4cG9ydCBjbGFzcyBEZWZlcnJlZFByb2dyYW1Db3VudGVyIGV4dGVuZHMgUHJvZ3JhbUNvdW50ZXIge1xuICBwcml2YXRlIG11dGFibGVQQzogUHJvZ3JhbUNvdW50ZXIgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb2Zmc2V0OiBudW1iZXIgPSAwKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBwbHVzKG9mZnNldDogbnVtYmVyKTogUHJvZ3JhbUNvdW50ZXIge1xuICAgIHJldHVybiBuZXcgRGVmZXJyZWRQcm9ncmFtQ291bnRlcih0aGlzLm9mZnNldCArIG9mZnNldCk7XG4gIH1cblxuICBwdWJsaWMgZXF1YWxzKG90aGVyOiBQcm9ncmFtQ291bnRlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzID09PSBvdGhlcjtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQQyhwYzogUHJvZ3JhbUNvdW50ZXIpOiB2b2lkIHtcbiAgICB0aGlzLm11dGFibGVQQyA9IHBjO1xuICB9XG5cbiAgcHVibGljIGdldFBDKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMubXV0YWJsZVBDID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBQQycpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLm11dGFibGVQQy5nZXRQQygpICsgdGhpcy5vZmZzZXQ7XG4gIH1cbn1cbiJdfQ==