@scriptc/compiler 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/LICENSE +202 -0
  2. package/ambient/package.json +3 -0
  3. package/ambient/scriptc-node-fallback.d.ts +3001 -0
  4. package/ambient/scriptc-overrides.d.ts +95 -0
  5. package/ambient/scriptc.d.ts +74 -0
  6. package/dist/backend/cc.d.ts +169 -0
  7. package/dist/backend/cc.js +897 -0
  8. package/dist/backend/cc.js.map +1 -0
  9. package/dist/backend/emission/emit-async.d.ts +145 -0
  10. package/dist/backend/emission/emit-async.js +996 -0
  11. package/dist/backend/emission/emit-async.js.map +1 -0
  12. package/dist/backend/emission/emit-exprs.d.ts +3 -0
  13. package/dist/backend/emission/emit-exprs.js +5949 -0
  14. package/dist/backend/emission/emit-exprs.js.map +1 -0
  15. package/dist/backend/emission/emit-island.d.ts +45 -0
  16. package/dist/backend/emission/emit-island.js +271 -0
  17. package/dist/backend/emission/emit-island.js.map +1 -0
  18. package/dist/backend/emission/emit-shapes.d.ts +142 -0
  19. package/dist/backend/emission/emit-shapes.js +575 -0
  20. package/dist/backend/emission/emit-shapes.js.map +1 -0
  21. package/dist/backend/emission/emit-stmts.d.ts +78 -0
  22. package/dist/backend/emission/emit-stmts.js +960 -0
  23. package/dist/backend/emission/emit-stmts.js.map +1 -0
  24. package/dist/backend/emission/emit-types.d.ts +65 -0
  25. package/dist/backend/emission/emit-types.js +652 -0
  26. package/dist/backend/emission/emit-types.js.map +1 -0
  27. package/dist/backend/emission/emit-walkers.d.ts +154 -0
  28. package/dist/backend/emission/emit-walkers.js +1587 -0
  29. package/dist/backend/emission/emit-walkers.js.map +1 -0
  30. package/dist/backend/emission/emitter.d.ts +452 -0
  31. package/dist/backend/emission/emitter.js +1249 -0
  32. package/dist/backend/emission/emitter.js.map +1 -0
  33. package/dist/backend/emission/may-throw.d.ts +15 -0
  34. package/dist/backend/emission/may-throw.js +250 -0
  35. package/dist/backend/emission/may-throw.js.map +1 -0
  36. package/dist/backend/llvm/blocks.d.ts +21 -0
  37. package/dist/backend/llvm/blocks.js +68 -0
  38. package/dist/backend/llvm/blocks.js.map +1 -0
  39. package/dist/backend/llvm/classes.d.ts +84 -0
  40. package/dist/backend/llvm/classes.js +438 -0
  41. package/dist/backend/llvm/classes.js.map +1 -0
  42. package/dist/backend/llvm/dyn.d.ts +123 -0
  43. package/dist/backend/llvm/dyn.js +2624 -0
  44. package/dist/backend/llvm/dyn.js.map +1 -0
  45. package/dist/backend/llvm/emitter.d.ts +3 -0
  46. package/dist/backend/llvm/emitter.js +10102 -0
  47. package/dist/backend/llvm/emitter.js.map +1 -0
  48. package/dist/backend/llvm/shapes.d.ts +78 -0
  49. package/dist/backend/llvm/shapes.js +754 -0
  50. package/dist/backend/llvm/shapes.js.map +1 -0
  51. package/dist/backend/llvm/unsupported.d.ts +6 -0
  52. package/dist/backend/llvm/unsupported.js +12 -0
  53. package/dist/backend/llvm/unsupported.js.map +1 -0
  54. package/dist/backend/llvm/walkers.d.ts +58 -0
  55. package/dist/backend/llvm/walkers.js +793 -0
  56. package/dist/backend/llvm/walkers.js.map +1 -0
  57. package/dist/backend/mangle.d.ts +124 -0
  58. package/dist/backend/mangle.js +232 -0
  59. package/dist/backend/mangle.js.map +1 -0
  60. package/dist/coverage/report.d.ts +65 -0
  61. package/dist/coverage/report.js +238 -0
  62. package/dist/coverage/report.js.map +1 -0
  63. package/dist/diagnostics/diagnostic.d.ts +140 -0
  64. package/dist/diagnostics/diagnostic.js +458 -0
  65. package/dist/diagnostics/diagnostic.js.map +1 -0
  66. package/dist/diagnostics/render.d.ts +11 -0
  67. package/dist/diagnostics/render.js +58 -0
  68. package/dist/diagnostics/render.js.map +1 -0
  69. package/dist/frontend/cjs-lexer.d.ts +20 -0
  70. package/dist/frontend/cjs-lexer.js +813 -0
  71. package/dist/frontend/cjs-lexer.js.map +1 -0
  72. package/dist/frontend/lowering/http2-constants.d.ts +1 -0
  73. package/dist/frontend/lowering/http2-constants.js +251 -0
  74. package/dist/frontend/lowering/http2-constants.js.map +1 -0
  75. package/dist/frontend/lowering/lib-boundary.d.ts +6 -0
  76. package/dist/frontend/lowering/lib-boundary.js +143 -0
  77. package/dist/frontend/lowering/lib-boundary.js.map +1 -0
  78. package/dist/frontend/lowering/lower-assert.d.ts +18 -0
  79. package/dist/frontend/lowering/lower-assert.js +1269 -0
  80. package/dist/frontend/lowering/lower-assert.js.map +1 -0
  81. package/dist/frontend/lowering/lower-builtins.d.ts +511 -0
  82. package/dist/frontend/lowering/lower-builtins.js +5249 -0
  83. package/dist/frontend/lowering/lower-builtins.js.map +1 -0
  84. package/dist/frontend/lowering/lower-calls.d.ts +581 -0
  85. package/dist/frontend/lowering/lower-calls.js +6286 -0
  86. package/dist/frontend/lowering/lower-calls.js.map +1 -0
  87. package/dist/frontend/lowering/lower-classes.d.ts +727 -0
  88. package/dist/frontend/lowering/lower-classes.js +4701 -0
  89. package/dist/frontend/lowering/lower-classes.js.map +1 -0
  90. package/dist/frontend/lowering/lower-comptime.d.ts +53 -0
  91. package/dist/frontend/lowering/lower-comptime.js +244 -0
  92. package/dist/frontend/lowering/lower-comptime.js.map +1 -0
  93. package/dist/frontend/lowering/lower-containers.d.ts +486 -0
  94. package/dist/frontend/lowering/lower-containers.js +6345 -0
  95. package/dist/frontend/lowering/lower-containers.js.map +1 -0
  96. package/dist/frontend/lowering/lower-dgram.d.ts +20 -0
  97. package/dist/frontend/lowering/lower-dgram.js +319 -0
  98. package/dist/frontend/lowering/lower-dgram.js.map +1 -0
  99. package/dist/frontend/lowering/lower-emitter.d.ts +10 -0
  100. package/dist/frontend/lowering/lower-emitter.js +688 -0
  101. package/dist/frontend/lowering/lower-emitter.js.map +1 -0
  102. package/dist/frontend/lowering/lower-enums.d.ts +22 -0
  103. package/dist/frontend/lowering/lower-enums.js +235 -0
  104. package/dist/frontend/lowering/lower-enums.js.map +1 -0
  105. package/dist/frontend/lowering/lower-expando.d.ts +35 -0
  106. package/dist/frontend/lowering/lower-expando.js +276 -0
  107. package/dist/frontend/lowering/lower-expando.js.map +1 -0
  108. package/dist/frontend/lowering/lower-exprs.d.ts +524 -0
  109. package/dist/frontend/lowering/lower-exprs.js +8111 -0
  110. package/dist/frontend/lowering/lower-exprs.js.map +1 -0
  111. package/dist/frontend/lowering/lower-generators.d.ts +50 -0
  112. package/dist/frontend/lowering/lower-generators.js +421 -0
  113. package/dist/frontend/lowering/lower-generators.js.map +1 -0
  114. package/dist/frontend/lowering/lower-inspect.d.ts +20 -0
  115. package/dist/frontend/lowering/lower-inspect.js +1074 -0
  116. package/dist/frontend/lowering/lower-inspect.js.map +1 -0
  117. package/dist/frontend/lowering/lower-island.d.ts +108 -0
  118. package/dist/frontend/lowering/lower-island.js +650 -0
  119. package/dist/frontend/lowering/lower-island.js.map +1 -0
  120. package/dist/frontend/lowering/lower-mixins.d.ts +96 -0
  121. package/dist/frontend/lowering/lower-mixins.js +534 -0
  122. package/dist/frontend/lowering/lower-mixins.js.map +1 -0
  123. package/dist/frontend/lowering/lower-modules.d.ts +135 -0
  124. package/dist/frontend/lowering/lower-modules.js +1613 -0
  125. package/dist/frontend/lowering/lower-modules.js.map +1 -0
  126. package/dist/frontend/lowering/lower-namespaces.d.ts +168 -0
  127. package/dist/frontend/lowering/lower-namespaces.js +706 -0
  128. package/dist/frontend/lowering/lower-namespaces.js.map +1 -0
  129. package/dist/frontend/lowering/lower-server.d.ts +90 -0
  130. package/dist/frontend/lowering/lower-server.js +3471 -0
  131. package/dist/frontend/lowering/lower-server.js.map +1 -0
  132. package/dist/frontend/lowering/lower-stmts.d.ts +361 -0
  133. package/dist/frontend/lowering/lower-stmts.js +5341 -0
  134. package/dist/frontend/lowering/lower-stmts.js.map +1 -0
  135. package/dist/frontend/lowering/lower-stream.d.ts +88 -0
  136. package/dist/frontend/lowering/lower-stream.js +1533 -0
  137. package/dist/frontend/lowering/lower-stream.js.map +1 -0
  138. package/dist/frontend/lowering/lower-test.d.ts +27 -0
  139. package/dist/frontend/lowering/lower-test.js +353 -0
  140. package/dist/frontend/lowering/lower-test.js.map +1 -0
  141. package/dist/frontend/lowering/lowerer.d.ts +1748 -0
  142. package/dist/frontend/lowering/lowerer.js +6257 -0
  143. package/dist/frontend/lowering/lowerer.js.map +1 -0
  144. package/dist/frontend/lowering/surfaces.d.ts +272 -0
  145. package/dist/frontend/lowering/surfaces.js +1096 -0
  146. package/dist/frontend/lowering/surfaces.js.map +1 -0
  147. package/dist/frontend/npm-static.d.ts +55 -0
  148. package/dist/frontend/npm-static.js +300 -0
  149. package/dist/frontend/npm-static.js.map +1 -0
  150. package/dist/frontend/npm.d.ts +330 -0
  151. package/dist/frontend/npm.js +1259 -0
  152. package/dist/frontend/npm.js.map +1 -0
  153. package/dist/frontend/program.d.ts +186 -0
  154. package/dist/frontend/program.js +2255 -0
  155. package/dist/frontend/program.js.map +1 -0
  156. package/dist/frontend/provenance-registry.d.ts +48 -0
  157. package/dist/frontend/provenance-registry.js +87 -0
  158. package/dist/frontend/provenance-registry.js.map +1 -0
  159. package/dist/frontend/provenance.d.ts +6 -0
  160. package/dist/frontend/provenance.js +459 -0
  161. package/dist/frontend/provenance.js.map +1 -0
  162. package/dist/frontend/resolve.d.ts +56 -0
  163. package/dist/frontend/resolve.js +682 -0
  164. package/dist/frontend/resolve.js.map +1 -0
  165. package/dist/frontend/shared.d.ts +67 -0
  166. package/dist/frontend/shared.js +241 -0
  167. package/dist/frontend/shared.js.map +1 -0
  168. package/dist/frontend/ts7/adapter.d.ts +7 -0
  169. package/dist/frontend/ts7/adapter.js +54 -0
  170. package/dist/frontend/ts7/adapter.js.map +1 -0
  171. package/dist/frontend/ts7/ast.d.ts +50 -0
  172. package/dist/frontend/ts7/ast.js +211 -0
  173. package/dist/frontend/ts7/ast.js.map +1 -0
  174. package/dist/frontend/ts7/census-check.d.ts +1 -0
  175. package/dist/frontend/ts7/census-check.js +12 -0
  176. package/dist/frontend/ts7/census-check.js.map +1 -0
  177. package/dist/frontend/ts7/checker.d.ts +140 -0
  178. package/dist/frontend/ts7/checker.js +544 -0
  179. package/dist/frontend/ts7/checker.js.map +1 -0
  180. package/dist/frontend/ts7/enums.d.ts +18 -0
  181. package/dist/frontend/ts7/enums.js +43 -0
  182. package/dist/frontend/ts7/enums.js.map +1 -0
  183. package/dist/frontend/ts7/program.d.ts +99 -0
  184. package/dist/frontend/ts7/program.js +278 -0
  185. package/dist/frontend/ts7/program.js.map +1 -0
  186. package/dist/frontend/ts7/world-check.d.ts +3 -0
  187. package/dist/frontend/ts7/world-check.js +34 -0
  188. package/dist/frontend/ts7/world-check.js.map +1 -0
  189. package/dist/frontend/types.d.ts +205 -0
  190. package/dist/frontend/types.js +2485 -0
  191. package/dist/frontend/types.js.map +1 -0
  192. package/dist/index.d.ts +85 -0
  193. package/dist/index.js +429 -0
  194. package/dist/index.js.map +1 -0
  195. package/dist/ir/nodes.d.ts +4334 -0
  196. package/dist/ir/nodes.js +1906 -0
  197. package/dist/ir/nodes.js.map +1 -0
  198. package/dist/ir/serialize.d.ts +4 -0
  199. package/dist/ir/serialize.js +34 -0
  200. package/dist/ir/serialize.js.map +1 -0
  201. package/dist/ir/validate.d.ts +36 -0
  202. package/dist/ir/validate.js +4885 -0
  203. package/dist/ir/validate.js.map +1 -0
  204. package/package.json +30 -6
  205. package/README.md +0 -3
  206. package/index.js +0 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc.js","sourceRoot":"","sources":["../../src/backend/cc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import type { CEmitter } from "./emitter.js";
2
+ import { IrType } from "../../ir/nodes.js";
3
+ /** Per-async-function machinery: an argument pack, a fiber trampoline
4
+ * (unpacks, runs the ordinary compiled body, settles the promise), and a
5
+ * spawn wrapper call sites use. Lifted async lambdas additionally thread
6
+ * their closure env through the pack (+1, released after the body). */
7
+ export declare function emitAsyncScaffolding(E: CEmitter, out: string[]): void;
8
+ /** Interned per-union child exit adapter: the runtime invokes
9
+ * adapter(cb, has_code, code, signal_name); the adapter builds the
10
+ * `number | null` union value (tags are program data — the frontend
11
+ * guaranteed the param IS that union) and calls the listener, which
12
+ * owns the union param per the universal convention (unit-arm
13
+ * instances are immortal; their release is a no-op). The one-param
14
+ * shape ignores the signal. */
15
+ export declare function childExitThunkFor(E: CEmitter, param: IrType): string;
16
+ /** The TWO-parameter exit adapter — Node's `(code, signal)` listener:
17
+ * the code union as above plus the signal as its own `string | null`
18
+ * union (a fresh string from the runtime's static signal name when a
19
+ * signal killed the child, the null arm otherwise). */
20
+ export declare function childExitThunkFor2(E: CEmitter, codeParam: IrType, sigParam: IrType): string;
21
+ /** Interned per-union child-stream data adapter: the runtime invokes
22
+ * adapter(cb, chunk) with the chunk BORROWED; the adapter wraps a
23
+ * retained chunk at the union's Buffer arm (the frontend guaranteed
24
+ * the arm exists — the ngrok `Buffer | string` listener; strings never
25
+ * fire from a pipe) and calls the listener, which owns the union param
26
+ * per the universal convention. */
27
+ export declare function childDataThunkFor(E: CEmitter, param: IrType): string;
28
+ /** Interned per-union bound-close adapter (`server.close.bind(server)`
29
+ * as a value): invoked through the closure ABI with the callback-union
30
+ * argument, it closes the server DIRECTLY (never through the override —
31
+ * the proxy-through idiom cannot recurse), registering a present
32
+ * callback as a once-'close' listener — a ONE-param callback (Node's
33
+ * `(err?: Error) => void`) behind an emitted zero-arg trampoline that
34
+ * fires it with the undefined arm (a clean close carries no error) —
35
+ * and answers the +1 server (Node's chaining return). */
36
+ export declare function closeBindThunkFor(E: CEmitter, cbUnion: IrType, retServer: boolean): string;
37
+ /** Interned close-override zero-arg wrapper (`server.close = fn`): the
38
+ * stored override must be invocable by the runtime WITHOUT program
39
+ * types, so this wrapper carries the user function and fires it with
40
+ * the undefined-arm callback argument (tags are program data),
41
+ * releasing the chaining-return server when the signature answers one. */
42
+ export declare function closeOverrideWrapFor(E: CEmitter, cbUnion: IrType, retServer: boolean): string;
43
+ /** Interned per-shape dgram message adapter for the TWO-parameter
44
+ * (msg: Buffer, rinfo) listener: the rinfo RECORD is program data, so
45
+ * the adapter builds it from the runtime's parts (address/family
46
+ * borrowed and retained in; port/size by value) and calls the listener,
47
+ * which owns both params per the universal convention (msg retains like
48
+ * the net data thunk). Zero/one-param listeners take the runtime's own
49
+ * scr_dgram_msg_thunk0/1. */
50
+ export declare function dgramMsgThunkFor(E: CEmitter, param: IrType): string;
51
+ /** Interned dns.lookup callback adapter, per (union id, param count):
52
+ * the runtime invokes adapter(cb, errmsg-or-NULL, address, family) with
53
+ * everything borrowed; the adapter builds the `Error | null` first
54
+ * argument (tags are program data — the frontend pinned the union) and
55
+ * calls the listener with as many arguments as it declared, each owned
56
+ * per the universal convention. */
57
+ export declare function dnsLookupThunkFor(E: CEmitter, cbT: IrType): string;
58
+ /** Interned CONNECT-listener adapter for a UNION socket slot — the h2
59
+ * compat listener (`(req, resOrSocket: Http2ServerResponse | net.Socket)
60
+ * => void`): the runtime fires (cb, req, sock, head) like an upgrade;
61
+ * the adapter wraps the socket at the union's netSocket arm (its tag is
62
+ * program data) and drops `head` when the listener declares two params.
63
+ * All three runtime args arrive +1; the union takes the socket's. */
64
+ export declare function connectSockThunkFor(E: CEmitter, cbT: IrType): string;
65
+ /** Interned net.connect-lookup answer thunk: the fn of the runtime-minted
66
+ * callback the caller's `lookup` option receives (the SNI-answer
67
+ * pattern). COMPILED code calls it per its static type — `(err:
68
+ * ErrnoException | null, addresses: { address: string, ... }[]) =>
69
+ * void` — so the thunk decodes the program-interned err union (null
70
+ * tag) and the addresses record's field layout down to the runtime's
71
+ * (has_err, message, ip-list) answer. Params arrive +1 and release
72
+ * here; the extracted message/ips hand over +1. */
73
+ export declare function netLookupAnswerThunkFor(E: CEmitter, cbT: IrType): string;
74
+ /** Interned SNI answer-closure thunk: the fn of the runtime-minted `cb`
75
+ * a TLS server's SNICallback receives. COMPILED code calls cb per its
76
+ * static type — `(err: Error | null, ctx?: SecureContext) => void`, or
77
+ * a shorter declared shape — so the thunk's signature is that ABI, and
78
+ * it decodes the program-interned unions (tags are program data) down
79
+ * to the runtime's (has_err, ctx-or-NULL) answer. The thunk owns its
80
+ * union params per the universal convention (the ctx payload retains
81
+ * +1 before its union releases; ownership moves to the runtime). */
82
+ export declare function sniAnswerThunkFor(E: CEmitter, cbT: IrType): string;
83
+ /** Interned Promise.race fulfillment adapter: converts a settled entry's
84
+ * payload (inner type `from`) into the result promise's inner type `to`
85
+ * and fulfills the destination. Three shapes, mirroring the frontend's
86
+ * compatibility fence: identical types share the runtime's raw copy;
87
+ * a plain entry under a union result wraps into its arm; a sub-union
88
+ * entry re-tags arm-wise (canonical arm order makes the mapping a
89
+ * typeKey lookup). Rejections never reach adapters — the runtime copies
90
+ * them raw. */
91
+ export declare function raceAdapterFor(E: CEmitter, from: IrType, to: IrType): string;
92
+ /** Interned generator-resume result builder: reads the post-resume state
93
+ * of a generator into a fresh IteratorResult record `{ done, value }`.
94
+ * One helper per generator type (every next/return/throw on it shares
95
+ * the record shape). The value slot: while suspended, the yielded value
96
+ * moves out of the OUT slot into its arm of V (the yield type retags
97
+ * arm-wise into a superset V, the raceAdapterFor technique); once done,
98
+ * a present completion value wraps the same way and an empty OUT is
99
+ * JS's undefined (the interned undefined arm — or the dyn undefined
100
+ * when V is dyn, the any/unknown channel). */
101
+ export declare function genResultThunkFor(E: CEmitter, genT: IrType & {
102
+ kind: "generator";
103
+ }, recT: IrType & {
104
+ kind: "record";
105
+ }): string;
106
+ /** Interned per inner-type resolve thunk for ref-kind new Promise. */
107
+ export declare function resolveThunkFor(E: CEmitter, inner: IrType): string;
108
+ /** The EventEmitter listener invoke adapter for one listener signature:
109
+ * `void (ScrClosure *, va_list)` — va_args exactly the listener's own
110
+ * parameter prefix of the emit site's typed tail (the frontend unified
111
+ * the tuple, so reads agree with writes), retains each refcounted value
112
+ * (the callee owns +1 per the universal convention; f64/bool copy), and
113
+ * calls cb->fn behind its exact C signature. Interned per func-type key. */
114
+ export declare function emitterInvokeThunkFor(E: CEmitter, cbT: IrType): string;
115
+ /** The stream completion-callback closure fn for one done func type: the
116
+ * `callback` a user's write/final/destroy/transform/flush receives. The
117
+ * closure's one capture box holds the stream (+1); calling it unwraps the
118
+ * (optional) error/data union arguments and reports completion to the
119
+ * runtime. Kind names the runtime entry: "w" scr_stream_write_done, "f"
120
+ * scr_stream_final_done, "d" scr_stream_destroy_done, "t"
121
+ * scr_stream_transform_done, "l" scr_stream_flush_done. Args arrive
122
+ * callee-owned (+1) per the universal convention and are released here. */
123
+ export declare function streamDoneFnFor(E: CEmitter, kind: "w" | "f" | "d" | "t" | "l", doneT: IrType): string;
124
+ /** The stream-'data' listener invoke adapter for one listener func type:
125
+ * the runtime's 'data' emission carries BOTH payload slots (ScrBytes *b,
126
+ * ScrStr *s — exactly one non-NULL; encoded streams deliver strings),
127
+ * and this thunk unwraps the listener's declared side. A listener
128
+ * declaring the WRONG side for the stream's runtime mode gets a clear
129
+ * TypeError instead of a type-confused payload (Node, untyped, would
130
+ * just hand the value over — SEMANTICS.md). Zero-parameter listeners
131
+ * ignore both slots; DYN-parameter listeners (the JS lane's adapter,
132
+ * emitter.onDataDyn) box by tag, which is always right. */
133
+ export declare function streamDataThunkFor(E: CEmitter, cbT: IrType): string;
134
+ /** The stream option-callback invoke adapter for one (kind, callback
135
+ * type): the runtime calls the user's read/write/final/destroy/transform/
136
+ * flush closure through it. The stream rides first (the leading `this`
137
+ * param every option callback's lifted fn takes); the user may have
138
+ * declared any PREFIX of the Node signature, so the adapter passes
139
+ * exactly the declared prefix (retaining each ref per the callee-owns
140
+ * convention) and materializes the completion-callback closure only when
141
+ * declared — an undeclared completion callback means the operation can
142
+ * never complete, exactly Node. Kinds: "r" read(size), "w" write(chunk,
143
+ * enc, cb), "f" final(cb), "d" destroy(err, cb), "t" transform(chunk,
144
+ * enc, cb), "l" flush(cb). */
145
+ export declare function streamCbThunkFor(E: CEmitter, kind: "r" | "w" | "f" | "d" | "t" | "l" | "e", cbT: IrType): string;