UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

47 lines (45 loc) 4.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const scope_1 = require("../scope"); const BaseScriptBuilder_1 = require("./BaseScriptBuilder"); class DiagnosticScriptBuilder extends BaseScriptBuilder_1.BaseScriptBuilder { constructor() { super(...arguments); this.mutableCapturedHelpersSet = new Set(); } emitHelper(node, options, helper) { if (!this.mutableCapturedHelpersSet.has(helper)) { this.mutableCapturedHelpersSet.add(helper); helper.emitGlobal(this, node, options); } helper.emit(this, node, options); } emitOp() { } emitPushInt() { } emitPushBoolean() { } emitPushString() { } emitPushBuffer() { } emitJmp() { } emitBytecode() { } emitCall() { } emitSysCall() { } emitLine() { } getLinkedScriptHash() { return undefined; } createScope() { return new scope_1.DiagnosticScope(); } } exports.DiagnosticScriptBuilder = DiagnosticScriptBuilder; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRpYWdub3N0aWNTY3JpcHRCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0Esb0NBQTJDO0FBRTNDLDJEQUF3RDtBQUd4RCxNQUFhLHVCQUF3QixTQUFRLHFDQUFrQztJQUEvRTs7UUFDbUIsOEJBQXlCLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUF5RHRFLENBQUM7SUF2RFEsVUFBVSxDQUFvQixJQUFPLEVBQUUsT0FBcUIsRUFBRSxNQUFpQjtRQUNwRixJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztTQUN4QztRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0sTUFBTTtJQUViLENBQUM7SUFFTSxXQUFXO0lBRWxCLENBQUM7SUFFTSxlQUFlO0lBRXRCLENBQUM7SUFFTSxjQUFjO0lBRXJCLENBQUM7SUFFTSxjQUFjO0lBRXJCLENBQUM7SUFFTSxPQUFPO0lBRWQsQ0FBQztJQUVNLFlBQVk7SUFFbkIsQ0FBQztJQUVNLFFBQVE7SUFFZixDQUFDO0lBRU0sV0FBVztJQUVsQixDQUFDO0lBRU0sUUFBUTtJQUVmLENBQUM7SUFFTSxtQkFBbUI7UUFDeEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVTLFdBQVc7UUFDbkIsT0FBTyxJQUFJLHVCQUFlLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUExREQsMERBMERDIiwiZmlsZSI6Im5lby1vbmUtc21hcnQtY29udHJhY3QtY29tcGlsZXIvc3JjL2NvbXBpbGUvc2IvRGlhZ25vc3RpY1NjcmlwdEJ1aWxkZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSW50MTYwIH0gZnJvbSAnQG5lby1vbmUvY2xpZW50LWNvbW1vbic7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXInO1xuaW1wb3J0IHsgRGlhZ25vc3RpY1Njb3BlIH0gZnJvbSAnLi4vc2NvcGUnO1xuaW1wb3J0IHsgVmlzaXRPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgQmFzZVNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuL0Jhc2VTY3JpcHRCdWlsZGVyJztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuL1NjcmlwdEJ1aWxkZXInO1xuXG5leHBvcnQgY2xhc3MgRGlhZ25vc3RpY1NjcmlwdEJ1aWxkZXIgZXh0ZW5kcyBCYXNlU2NyaXB0QnVpbGRlcjxEaWFnbm9zdGljU2NvcGU+IGltcGxlbWVudHMgU2NyaXB0QnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbXV0YWJsZUNhcHR1cmVkSGVscGVyc1NldDogU2V0PEhlbHBlcj4gPSBuZXcgU2V0KCk7XG5cbiAgcHVibGljIGVtaXRIZWxwZXI8VCBleHRlbmRzIHRzLk5vZGU+KG5vZGU6IFQsIG9wdGlvbnM6IFZpc2l0T3B0aW9ucywgaGVscGVyOiBIZWxwZXI8VD4pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMubXV0YWJsZUNhcHR1cmVkSGVscGVyc1NldC5oYXMoaGVscGVyKSkge1xuICAgICAgdGhpcy5tdXRhYmxlQ2FwdHVyZWRIZWxwZXJzU2V0LmFkZChoZWxwZXIpO1xuICAgICAgaGVscGVyLmVtaXRHbG9iYWwodGhpcywgbm9kZSwgb3B0aW9ucyk7XG4gICAgfVxuICAgIGhlbHBlci5lbWl0KHRoaXMsIG5vZGUsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGVtaXRPcCgpOiB2b2lkIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH1cblxuICBwdWJsaWMgZW1pdFB1c2hJbnQoKTogdm9pZCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG5cbiAgcHVibGljIGVtaXRQdXNoQm9vbGVhbigpOiB2b2lkIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH1cblxuICBwdWJsaWMgZW1pdFB1c2hTdHJpbmcoKTogdm9pZCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG5cbiAgcHVibGljIGVtaXRQdXNoQnVmZmVyKCk6IHZvaWQge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Sm1wKCk6IHZvaWQge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Qnl0ZWNvZGUoKTogdm9pZCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG5cbiAgcHVibGljIGVtaXRDYWxsKCk6IHZvaWQge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfVxuXG4gIHB1YmxpYyBlbWl0U3lzQ2FsbCgpOiB2b2lkIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH1cblxuICBwdWJsaWMgZW1pdExpbmUoKTogdm9pZCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9XG5cbiAgcHVibGljIGdldExpbmtlZFNjcmlwdEhhc2goKTogVUludDE2MCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVTY29wZSgpOiBEaWFnbm9zdGljU2NvcGUge1xuICAgIHJldHVybiBuZXcgRGlhZ25vc3RpY1Njb3BlKCk7XG4gIH1cbn1cbiJdfQ==