@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
33 lines (31 loc) • 3.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const typescript_1 = tslib_1.__importDefault(require("typescript"));
const NodeCompiler_1 = require("../NodeCompiler");
class BooleanLiteralCompiler extends NodeCompiler_1.NodeCompiler {
visitNode(sb, expr, options) {
if (options.pushValue) {
sb.emitPushBoolean(expr, this.value);
sb.emitHelper(expr, options, sb.helpers.wrapBoolean);
}
}
}
exports.BooleanLiteralCompiler = BooleanLiteralCompiler;
class TrueBooleanLiteralCompiler extends BooleanLiteralCompiler {
constructor() {
super(...arguments);
this.kind = typescript_1.default.SyntaxKind.TrueKeyword;
this.value = true;
}
}
exports.TrueBooleanLiteralCompiler = TrueBooleanLiteralCompiler;
class FalseBooleanLiteralCompiler extends BooleanLiteralCompiler {
constructor() {
super(...arguments);
this.kind = typescript_1.default.SyntaxKind.FalseKeyword;
this.value = false;
}
}
exports.FalseBooleanLiteralCompiler = FalseBooleanLiteralCompiler;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJvb2xlYW5MaXRlcmFsQ29tcGlsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0VBQTRCO0FBRTVCLGtEQUErQztBQUkvQyxNQUFzQixzQkFBdUIsU0FBUSwyQkFBK0I7SUFHM0UsU0FBUyxDQUFDLEVBQWlCLEVBQUUsSUFBdUIsRUFBRSxPQUFxQjtRQUNoRixJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDckIsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3REO0lBQ0gsQ0FBQztDQUNGO0FBVEQsd0RBU0M7QUFFRCxNQUFhLDBCQUEyQixTQUFRLHNCQUFzQjtJQUF0RTs7UUFDa0IsU0FBSSxHQUFHLG9CQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztRQUM5QixVQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7Q0FBQTtBQUhELGdFQUdDO0FBRUQsTUFBYSwyQkFBNEIsU0FBUSxzQkFBc0I7SUFBdkU7O1FBQ2tCLFNBQUksR0FBRyxvQkFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDL0IsVUFBSyxHQUFHLEtBQUssQ0FBQztJQUNuQyxDQUFDO0NBQUE7QUFIRCxrRUFHQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9jb21waWxlL2V4cHJlc3Npb24vQm9vbGVhbkxpdGVyYWxDb21waWxlci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHsgTm9kZUNvbXBpbGVyIH0gZnJvbSAnLi4vTm9kZUNvbXBpbGVyJztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCb29sZWFuTGl0ZXJhbENvbXBpbGVyIGV4dGVuZHMgTm9kZUNvbXBpbGVyPHRzLkJvb2xlYW5MaXRlcmFsPiB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSB2YWx1ZTogYm9vbGVhbjtcblxuICBwdWJsaWMgdmlzaXROb2RlKHNiOiBTY3JpcHRCdWlsZGVyLCBleHByOiB0cy5Cb29sZWFuTGl0ZXJhbCwgb3B0aW9uczogVmlzaXRPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbnMucHVzaFZhbHVlKSB7XG4gICAgICBzYi5lbWl0UHVzaEJvb2xlYW4oZXhwciwgdGhpcy52YWx1ZSk7XG4gICAgICBzYi5lbWl0SGVscGVyKGV4cHIsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcEJvb2xlYW4pO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJ1ZUJvb2xlYW5MaXRlcmFsQ29tcGlsZXIgZXh0ZW5kcyBCb29sZWFuTGl0ZXJhbENvbXBpbGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IGtpbmQgPSB0cy5TeW50YXhLaW5kLlRydWVLZXl3b3JkO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgdmFsdWUgPSB0cnVlO1xufVxuXG5leHBvcnQgY2xhc3MgRmFsc2VCb29sZWFuTGl0ZXJhbENvbXBpbGVyIGV4dGVuZHMgQm9vbGVhbkxpdGVyYWxDb21waWxlciB7XG4gIHB1YmxpYyByZWFkb25seSBraW5kID0gdHMuU3ludGF4S2luZC5GYWxzZUtleXdvcmQ7XG4gIHByb3RlY3RlZCByZWFkb25seSB2YWx1ZSA9IGZhbHNlO1xufVxuIl19