@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
53 lines (51 loc) • 3.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.add = void 0;
const constants_1 = require("../../../constants");
const BuiltinInstanceOf_1 = require("../../BuiltinInstanceOf");
const BuiltinInterface_1 = require("../../BuiltinInterface");
const ForwardValueAs_1 = require("./ForwardValueAs");
class ForwardValueInterface extends BuiltinInterface_1.BuiltinInterface {
}
class ForwardValueValue extends BuiltinInstanceOf_1.BuiltinInstanceOf {
constructor() {
super(...arguments);
this.type = 'ForwardValueConstructor';
}
emitInstanceOf(sb, node, optionsIn) {
const options = sb.pushValueOptions(optionsIn);
sb.visit(node, options);
if (optionsIn.pushValue) {
sb.emitHelper(node, options, sb.helpers.isForwardValue);
sb.emitHelper(node, options, sb.helpers.wrapBoolean);
}
else {
sb.emitOp(node, 'DROP');
}
}
}
class ForwardValueConstructorInterface extends BuiltinInterface_1.BuiltinInterface {
}
exports.add = (builtins) => {
builtins.addContractInterface('ForwardValue', new ForwardValueInterface());
builtins.addContractValue('ForwardValue', new ForwardValueValue());
builtins.addContractMember('ForwardValue', 'asString', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.String));
builtins.addContractMember('ForwardValue', 'asStringNullable', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.String, true));
builtins.addContractMember('ForwardValue', 'asNumber', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Number));
builtins.addContractMember('ForwardValue', 'asNumberNullable', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Number, true));
builtins.addContractMember('ForwardValue', 'asBoolean', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Boolean));
builtins.addContractMember('ForwardValue', 'asBuffer', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Buffer));
builtins.addContractMember('ForwardValue', 'asBufferNullable', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Buffer, true));
builtins.addContractMember('ForwardValue', 'asAddress', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Buffer));
builtins.addContractMember('ForwardValue', 'asAddressNullable', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Buffer, true));
builtins.addContractMember('ForwardValue', 'asHash256', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Buffer));
builtins.addContractMember('ForwardValue', 'asHash256Nullable', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Buffer, true));
builtins.addContractMember('ForwardValue', 'asPublicKey', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Buffer));
builtins.addContractMember('ForwardValue', 'asPublicKeyNullable', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Buffer, true));
builtins.addContractMember('ForwardValue', 'asArray', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Array));
builtins.addContractMember('ForwardValue', 'asArrayNullable', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Array, true));
builtins.addContractMember('ForwardValue', 'asMap', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Map));
builtins.addContractMember('ForwardValue', 'asMapNullable', new ForwardValueAs_1.ForwardValueAs(constants_1.Types.Map, true));
builtins.addContractInterface('ForwardValueConstructor', new ForwardValueConstructorInterface());
};
//# sourceMappingURL=index.js.map