@neo-one/smart-contract-compiler
Version:
NEO•ONE TypeScript smart contract compiler.
19 lines (17 loc) • 3.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const ts_utils_1 = require("@neo-one/ts-utils");
const BuiltinMemberCall_1 = require("../BuiltinMemberCall");
class SymbolFor extends BuiltinMemberCall_1.BuiltinMemberCall {
emitCall(sb, _func, node, options) {
if (ts_utils_1.tsUtils.argumented.getArguments(node).length < 1) {
return;
}
const arg = ts_utils_1.tsUtils.argumented.getArguments(node)[0];
sb.visit(arg, sb.pushValueOptions(options));
sb.emitHelper(arg, sb.pushValueOptions(options), sb.helpers.toString({ type: sb.context.analysis.getType(arg) }));
sb.emitHelper(node, options, sb.helpers.wrapSymbol);
}
}
exports.SymbolFor = SymbolFor;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUE0QztBQUk1Qyw0REFBeUQ7QUFJekQsTUFBYSxTQUFVLFNBQVEscUNBQWlCO0lBQ3ZDLFFBQVEsQ0FDYixFQUFpQixFQUNqQixLQUEyQixFQUMzQixJQUF1QixFQUN2QixPQUFxQjtRQUVyQixJQUFJLGtCQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBRXBELE9BQU87U0FDUjtRQUVELE1BQU0sR0FBRyxHQUFHLGtCQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyRCxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUU1QyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWxILEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQXBCRCw4QkFvQkMiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvY29tcGlsZS9idWlsdGlucy9zeW1ib2wvZm9yLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHNVdGlscyB9IGZyb20gJ0BuZW8tb25lL3RzLXV0aWxzJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IFNjcmlwdEJ1aWxkZXIgfSBmcm9tICcuLi8uLi9zYic7XG5pbXBvcnQgeyBWaXNpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQgeyBCdWlsdGluTWVtYmVyQ2FsbCB9IGZyb20gJy4uL0J1aWx0aW5NZW1iZXJDYWxsJztcbmltcG9ydCB7IE1lbWJlckxpa2VFeHByZXNzaW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgZXhwb3J0LW5hbWVcbmV4cG9ydCBjbGFzcyBTeW1ib2xGb3IgZXh0ZW5kcyBCdWlsdGluTWVtYmVyQ2FsbCB7XG4gIHB1YmxpYyBlbWl0Q2FsbChcbiAgICBzYjogU2NyaXB0QnVpbGRlcixcbiAgICBfZnVuYzogTWVtYmVyTGlrZUV4cHJlc3Npb24sXG4gICAgbm9kZTogdHMuQ2FsbEV4cHJlc3Npb24sXG4gICAgb3B0aW9uczogVmlzaXRPcHRpb25zLFxuICApOiB2b2lkIHtcbiAgICBpZiAodHNVdGlscy5hcmd1bWVudGVkLmdldEFyZ3VtZW50cyhub2RlKS5sZW5ndGggPCAxKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGFyZyA9IHRzVXRpbHMuYXJndW1lbnRlZC5nZXRBcmd1bWVudHMobm9kZSlbMF07XG4gICAgLy8gW3N0cmluZ1ZhbF1cbiAgICBzYi52aXNpdChhcmcsIHNiLnB1c2hWYWx1ZU9wdGlvbnMob3B0aW9ucykpO1xuICAgIC8vIFtzdHJpbmddXG4gICAgc2IuZW1pdEhlbHBlcihhcmcsIHNiLnB1c2hWYWx1ZU9wdGlvbnMob3B0aW9ucyksIHNiLmhlbHBlcnMudG9TdHJpbmcoeyB0eXBlOiBzYi5jb250ZXh0LmFuYWx5c2lzLmdldFR5cGUoYXJnKSB9KSk7XG4gICAgLy8gW3N5bWJvbFZhbF1cbiAgICBzYi5lbWl0SGVscGVyKG5vZGUsIG9wdGlvbnMsIHNiLmhlbHBlcnMud3JhcFN5bWJvbCk7XG4gIH1cbn1cbiJdfQ==