@tsonic/frontend 0.0.59 → 0.0.61
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/ir/binding/index.d.ts +17 -0
- package/dist/ir/binding/index.d.ts.map +1 -1
- package/dist/ir/binding/index.js +41 -7
- package/dist/ir/binding/index.js.map +1 -1
- package/dist/ir/converters/expressions/access.d.ts.map +1 -1
- package/dist/ir/converters/expressions/access.js +94 -11
- package/dist/ir/converters/expressions/access.js.map +1 -1
- package/dist/ir/this-parameter-inference-rewrap.test.d.ts +14 -0
- package/dist/ir/this-parameter-inference-rewrap.test.d.ts.map +1 -0
- package/dist/ir/this-parameter-inference-rewrap.test.js +110 -0
- package/dist/ir/this-parameter-inference-rewrap.test.js.map +1 -0
- package/dist/ir/this-parameter-inference.test.d.ts +13 -0
- package/dist/ir/this-parameter-inference.test.d.ts.map +1 -0
- package/dist/ir/this-parameter-inference.test.js +165 -0
- package/dist/ir/this-parameter-inference.test.js.map +1 -0
- package/dist/ir/type-system/internal/handle-types.d.ts +2 -0
- package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
- package/dist/ir/type-system/internal/type-converter/references.js +96 -2
- package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
- package/dist/ir/type-system/type-system.d.ts +4 -0
- package/dist/ir/type-system/type-system.d.ts.map +1 -1
- package/dist/ir/type-system/type-system.js +103 -28
- package/dist/ir/type-system/type-system.js.map +1 -1
- package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
- package/dist/ir/validation/soundness-gate.js +9 -1
- package/dist/ir/validation/soundness-gate.js.map +1 -1
- package/dist/program/bindings.d.ts +17 -0
- package/dist/program/bindings.d.ts.map +1 -1
- package/dist/program/bindings.js +137 -36
- package/dist/program/bindings.js.map +1 -1
- package/dist/types/diagnostic.d.ts +1 -1
- package/dist/types/diagnostic.d.ts.map +1 -1
- package/dist/types/diagnostic.js.map +1 -1
- package/dist/validation/static-safety.d.ts.map +1 -1
- package/dist/validation/static-safety.js +20 -0
- package/dist/validation/static-safety.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for TypeScript `this:` parameters in call signatures.
|
|
3
|
+
*
|
|
4
|
+
* tsbindgen uses TS `this:` parameters for extension-method-like surfaces, e.g.:
|
|
5
|
+
* Where<T>(this: IQueryable<T>, ...): Rewrap<this, IQueryable<T>>
|
|
6
|
+
*
|
|
7
|
+
* For airplane-grade deterministic typing, Tsonic must:
|
|
8
|
+
* - exclude `this` from call arity (it's not a call-site argument)
|
|
9
|
+
* - infer method type parameters from the receiver via the `this` parameter type
|
|
10
|
+
* - erase Rewrap<TReceiver, TNewShape> to the runtime shape (TNewShape)
|
|
11
|
+
*/
|
|
12
|
+
import { describe, it } from "mocha";
|
|
13
|
+
import { expect } from "chai";
|
|
14
|
+
import * as ts from "typescript";
|
|
15
|
+
import { buildIrModule } from "./builder.js";
|
|
16
|
+
import { createProgramContext } from "./program-context.js";
|
|
17
|
+
import { DotnetMetadataRegistry } from "../dotnet-metadata.js";
|
|
18
|
+
import { BindingRegistry } from "../program/bindings.js";
|
|
19
|
+
import { createClrBindingsResolver } from "../resolver/clr-bindings-resolver.js";
|
|
20
|
+
import { createBinding } from "./binding/index.js";
|
|
21
|
+
describe("TS `this:` parameter inference", () => {
|
|
22
|
+
const createTestProgram = (source, fileName = "sample.ts") => {
|
|
23
|
+
const sourceFile = ts.createSourceFile(fileName, source, ts.ScriptTarget.ES2022, true, ts.ScriptKind.TS);
|
|
24
|
+
const compilerOptions = {
|
|
25
|
+
target: ts.ScriptTarget.ES2022,
|
|
26
|
+
module: ts.ModuleKind.NodeNext,
|
|
27
|
+
strict: true,
|
|
28
|
+
noEmit: true,
|
|
29
|
+
};
|
|
30
|
+
const host = ts.createCompilerHost(compilerOptions);
|
|
31
|
+
const originalGetSourceFile = host.getSourceFile;
|
|
32
|
+
host.getSourceFile = (name, languageVersionOrOptions, onError, shouldCreateNewSourceFile) => {
|
|
33
|
+
if (name === fileName) {
|
|
34
|
+
return sourceFile;
|
|
35
|
+
}
|
|
36
|
+
return originalGetSourceFile.call(host, name, languageVersionOrOptions, onError, shouldCreateNewSourceFile);
|
|
37
|
+
};
|
|
38
|
+
const program = ts.createProgram([fileName], compilerOptions, host);
|
|
39
|
+
const checker = program.getTypeChecker();
|
|
40
|
+
const testProgram = {
|
|
41
|
+
program,
|
|
42
|
+
checker,
|
|
43
|
+
options: {
|
|
44
|
+
projectRoot: process.cwd(),
|
|
45
|
+
sourceRoot: process.cwd(),
|
|
46
|
+
rootNamespace: "TestApp",
|
|
47
|
+
strict: true,
|
|
48
|
+
},
|
|
49
|
+
sourceFiles: [sourceFile],
|
|
50
|
+
declarationSourceFiles: [],
|
|
51
|
+
metadata: new DotnetMetadataRegistry(),
|
|
52
|
+
bindings: new BindingRegistry(),
|
|
53
|
+
clrResolver: createClrBindingsResolver("/test"),
|
|
54
|
+
binding: createBinding(checker),
|
|
55
|
+
};
|
|
56
|
+
const options = { sourceRoot: "/test", rootNamespace: "TestApp" };
|
|
57
|
+
const ctx = createProgramContext(testProgram, options);
|
|
58
|
+
return { testProgram, ctx, options };
|
|
59
|
+
};
|
|
60
|
+
it("infers method type parameters from the receiver via `this:`", () => {
|
|
61
|
+
const source = `
|
|
62
|
+
import type { Rewrap } from "@tsonic/core/lang.js";
|
|
63
|
+
|
|
64
|
+
interface IQueryable_1<T> {}
|
|
65
|
+
|
|
66
|
+
interface __Ext_System_Linq_IQueryable_1<T> {
|
|
67
|
+
First<TSource>(this: IQueryable_1<TSource>): Rewrap<this, TSource>;
|
|
68
|
+
Where<TSource>(this: IQueryable_1<TSource>, predicate: (x: TSource) => boolean): Rewrap<this, IQueryable_1<TSource>>;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
declare const xs: IQueryable_1<string> & __Ext_System_Linq_IQueryable_1<string>;
|
|
72
|
+
|
|
73
|
+
export function testFirst(): string {
|
|
74
|
+
return xs.First();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function testWhere(): void {
|
|
78
|
+
const ys = xs.Where((x) => x.length > 0);
|
|
79
|
+
void ys;
|
|
80
|
+
}
|
|
81
|
+
`;
|
|
82
|
+
const { testProgram, ctx, options } = createTestProgram(source);
|
|
83
|
+
const sourceFile = testProgram.sourceFiles[0];
|
|
84
|
+
if (!sourceFile)
|
|
85
|
+
throw new Error("Failed to create source file");
|
|
86
|
+
// Provide minimal tsbindgen-style CLR bindings so __Ext_* members are treated
|
|
87
|
+
// as valid extension methods (avoids TSN4004 during IR build).
|
|
88
|
+
ctx.bindings.addBindings("/test/System.Linq/bindings.json", {
|
|
89
|
+
namespace: "System.Linq",
|
|
90
|
+
types: [
|
|
91
|
+
{
|
|
92
|
+
clrName: "System.Linq.Queryable",
|
|
93
|
+
assemblyName: "System.Linq",
|
|
94
|
+
methods: [
|
|
95
|
+
{
|
|
96
|
+
clrName: "First",
|
|
97
|
+
normalizedSignature: "First|(IQueryable_1):System.String|static=true",
|
|
98
|
+
parameterCount: 1,
|
|
99
|
+
declaringClrType: "System.Linq.Queryable",
|
|
100
|
+
declaringAssemblyName: "System.Linq",
|
|
101
|
+
isExtensionMethod: true,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
clrName: "Where",
|
|
105
|
+
normalizedSignature: "Where|(IQueryable_1,System.Func_2):IQueryable_1|static=true",
|
|
106
|
+
parameterCount: 2,
|
|
107
|
+
declaringClrType: "System.Linq.Queryable",
|
|
108
|
+
declaringAssemblyName: "System.Linq",
|
|
109
|
+
isExtensionMethod: true,
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
properties: [],
|
|
113
|
+
fields: [],
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
});
|
|
117
|
+
const result = buildIrModule(sourceFile, testProgram, options, ctx);
|
|
118
|
+
expect(result.ok).to.equal(true);
|
|
119
|
+
if (!result.ok)
|
|
120
|
+
return;
|
|
121
|
+
// No deterministic typing diagnostics should be emitted for this pattern.
|
|
122
|
+
expect(ctx.diagnostics.map((d) => d.code)).to.deep.equal([]);
|
|
123
|
+
const module = result.value;
|
|
124
|
+
const testFirstFn = module.body.find((stmt) => stmt.kind === "functionDeclaration" && stmt.name === "testFirst");
|
|
125
|
+
if (!testFirstFn || testFirstFn.kind !== "functionDeclaration") {
|
|
126
|
+
throw new Error("Expected function declaration 'testFirst'");
|
|
127
|
+
}
|
|
128
|
+
const returnStmt = testFirstFn.body.statements.find((s) => s.kind === "returnStatement");
|
|
129
|
+
if (!returnStmt || returnStmt.kind !== "returnStatement") {
|
|
130
|
+
throw new Error("Expected return statement in testFirst()");
|
|
131
|
+
}
|
|
132
|
+
const firstCall = returnStmt.expression;
|
|
133
|
+
if (!firstCall || firstCall.kind !== "call") {
|
|
134
|
+
throw new Error("Expected call expression in testFirst() return");
|
|
135
|
+
}
|
|
136
|
+
expect(firstCall.inferredType).to.deep.equal({
|
|
137
|
+
kind: "primitiveType",
|
|
138
|
+
name: "string",
|
|
139
|
+
});
|
|
140
|
+
const testWhereFn = module.body.find((stmt) => stmt.kind === "functionDeclaration" && stmt.name === "testWhere");
|
|
141
|
+
if (!testWhereFn || testWhereFn.kind !== "functionDeclaration") {
|
|
142
|
+
throw new Error("Expected function declaration 'testWhere'");
|
|
143
|
+
}
|
|
144
|
+
const varStmt = testWhereFn.body.statements.find((s) => s.kind === "variableDeclaration");
|
|
145
|
+
if (!varStmt || varStmt.kind !== "variableDeclaration") {
|
|
146
|
+
throw new Error("Expected variable declaration in testWhere()");
|
|
147
|
+
}
|
|
148
|
+
const init = varStmt.declarations[0]?.initializer;
|
|
149
|
+
if (!init || init.kind !== "call") {
|
|
150
|
+
throw new Error("Expected call initializer for ys");
|
|
151
|
+
}
|
|
152
|
+
expect(init.inferredType).to.not.equal(undefined);
|
|
153
|
+
if (!init.inferredType)
|
|
154
|
+
return;
|
|
155
|
+
expect(init.inferredType.kind).to.equal("referenceType");
|
|
156
|
+
if (init.inferredType.kind === "referenceType") {
|
|
157
|
+
expect(init.inferredType.name).to.equal("IQueryable_1");
|
|
158
|
+
expect(init.inferredType.typeArguments?.[0]).to.deep.equal({
|
|
159
|
+
kind: "primitiveType",
|
|
160
|
+
name: "string",
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
});
|
|
165
|
+
//# sourceMappingURL=this-parameter-inference.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"this-parameter-inference.test.js","sourceRoot":"","sources":["../../src/ir/this-parameter-inference.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,8 @@ export type DeclKind = "variable" | "function" | "class" | "interface" | "typeAl
|
|
|
58
58
|
*/
|
|
59
59
|
export interface SignatureInfo {
|
|
60
60
|
readonly parameters: readonly ParameterNode[];
|
|
61
|
+
/** Type node of a TypeScript `this:` parameter (if present). Excluded from `parameters`. */
|
|
62
|
+
readonly thisTypeNode?: unknown;
|
|
61
63
|
readonly returnTypeNode?: unknown;
|
|
62
64
|
readonly typeParameters?: readonly TypeParameterNode[];
|
|
63
65
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-types.d.ts","sourceRoot":"","sources":["../../../../src/ir/type-system/internal/handle-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handle-types.d.ts","sourceRoot":"","sources":["../../../../src/ir/type-system/internal/handle-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/references.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAuC,MAAM,mBAAmB,CAAC;AAiBhF,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"references.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/references.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAuC,MAAM,mBAAmB,CAAC;AAiBhF,OAAO,KAAK,EAAE,OAAO,EAAmB,MAAM,2BAA2B,CAAC;AA2X1E;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,EAAE,CAAC,iBAAiB,EAC1B,SAAS,OAAO,EAChB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,KAC3D,MA2cF,CAAC"}
|
|
@@ -103,6 +103,45 @@ const normalizeNamespaceAliasQualifiedName = (typeName) => {
|
|
|
103
103
|
* Value: extracted members, null (not extractable), or "in-progress" sentinel
|
|
104
104
|
*/
|
|
105
105
|
const structuralMembersCache = new Map();
|
|
106
|
+
/**
|
|
107
|
+
* Cache for expanding non-declaration-file type aliases (TS-only) into their underlying shapes.
|
|
108
|
+
*
|
|
109
|
+
* Key: DeclId.id (numeric identifier)
|
|
110
|
+
* Value:
|
|
111
|
+
* - IrType: the *uninstantiated* alias body converted to IR (with typeParameterType nodes)
|
|
112
|
+
* - "in-progress": recursion guard for self-referential aliases
|
|
113
|
+
*
|
|
114
|
+
* NOTE:
|
|
115
|
+
* We intentionally cache the uninstantiated body and apply type-argument substitution at
|
|
116
|
+
* the reference site. This keeps the cache small and deterministic.
|
|
117
|
+
*/
|
|
118
|
+
const typeAliasBodyCache = new Map();
|
|
119
|
+
/**
|
|
120
|
+
* Determine whether a TS-only type alias target is safe to erase to its underlying shape.
|
|
121
|
+
*
|
|
122
|
+
* We ONLY erase aliases whose targets are "reference-shaped" (type references / intersections
|
|
123
|
+
* / primitives / arrays, etc.). We intentionally DO NOT erase:
|
|
124
|
+
* - Union aliases (discriminated unions rely on the alias identity across lowering)
|
|
125
|
+
* - Tuple aliases (tuple alias resolution is handled via emitter-side type-alias resolution)
|
|
126
|
+
* - Type-literal aliases (structural alias → __Alias class; handled separately)
|
|
127
|
+
*
|
|
128
|
+
* This preserves the established lowering contracts while still enabling deterministic
|
|
129
|
+
* receiver-driven generic inference for aliases like:
|
|
130
|
+
* type LinqList<T> = Linq<List<T>>;
|
|
131
|
+
*/
|
|
132
|
+
const isSafeToEraseUserTypeAliasTarget = (node) => {
|
|
133
|
+
// Peel parentheses (e.g., type X = (Y))
|
|
134
|
+
while (ts.isParenthesizedTypeNode(node)) {
|
|
135
|
+
node = node.type;
|
|
136
|
+
}
|
|
137
|
+
if (ts.isTypeLiteralNode(node))
|
|
138
|
+
return false;
|
|
139
|
+
if (ts.isUnionTypeNode(node))
|
|
140
|
+
return false;
|
|
141
|
+
if (ts.isTupleTypeNode(node))
|
|
142
|
+
return false;
|
|
143
|
+
return true;
|
|
144
|
+
};
|
|
106
145
|
/**
|
|
107
146
|
* Check if a declaration should have structural members extracted.
|
|
108
147
|
*
|
|
@@ -395,6 +434,16 @@ export const convertTypeReference = (node, binding, convertType) => {
|
|
|
395
434
|
const inner = node.typeArguments[0];
|
|
396
435
|
return inner ? convertType(inner, binding) : { kind: "unknownType" };
|
|
397
436
|
}
|
|
437
|
+
// `Rewrap<TReceiver, TNewShape>` is a TS-only helper used by generated extension method
|
|
438
|
+
// surfaces to keep extension scopes sticky across fluent chains.
|
|
439
|
+
//
|
|
440
|
+
// For IR typing / runtime shape, it MUST erase to the new shape. We intentionally do not
|
|
441
|
+
// attempt to interpret the `TReceiver` argument here (it is often `this`, which is not a
|
|
442
|
+
// resolvable CLR type in IR conversion).
|
|
443
|
+
if (typeName === "Rewrap" && node.typeArguments?.length === 2) {
|
|
444
|
+
const newShape = node.typeArguments[1];
|
|
445
|
+
return newShape ? convertType(newShape, binding) : { kind: "unknownType" };
|
|
446
|
+
}
|
|
398
447
|
// Handle parameter passing modifiers: out<T>, ref<T>, inref<T>
|
|
399
448
|
// These are type aliases that should NOT be resolved - we preserve them
|
|
400
449
|
// so the emitter can detect `as out<T>` casts and emit the correct C# prefix.
|
|
@@ -534,6 +583,48 @@ export const convertTypeReference = (node, binding, convertType) => {
|
|
|
534
583
|
return fnType;
|
|
535
584
|
}
|
|
536
585
|
}
|
|
586
|
+
// User-defined type aliases are TS-only and have no CLR identity.
|
|
587
|
+
//
|
|
588
|
+
// For deterministic typing (especially generic inference), we must erase them to their
|
|
589
|
+
// underlying shapes.
|
|
590
|
+
//
|
|
591
|
+
// Example (extension methods):
|
|
592
|
+
// type LinqList<T> = Linq<List<T>>;
|
|
593
|
+
// const numbers = new List<int>() as unknown as LinqList<int>;
|
|
594
|
+
// numbers.AsParallel(); // must infer TSource=int from the receiver
|
|
595
|
+
//
|
|
596
|
+
// Without this erasure, the receiver type becomes a non-nominal referenceType ("LinqList")
|
|
597
|
+
// which prevents interface/heritage-based inference through NominalEnv.
|
|
598
|
+
if (!declNode.getSourceFile().isDeclarationFile &&
|
|
599
|
+
isSafeToEraseUserTypeAliasTarget(declNode.type)) {
|
|
600
|
+
const key = declId.id;
|
|
601
|
+
const cached = typeAliasBodyCache.get(key);
|
|
602
|
+
if (cached === "in-progress") {
|
|
603
|
+
// Recursive alias expansion: fall through to the referenceType path to avoid infinite recursion.
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
606
|
+
const base = cached ??
|
|
607
|
+
(() => {
|
|
608
|
+
typeAliasBodyCache.set(key, "in-progress");
|
|
609
|
+
const converted = convertType(declNode.type, binding);
|
|
610
|
+
typeAliasBodyCache.set(key, converted);
|
|
611
|
+
return converted;
|
|
612
|
+
})();
|
|
613
|
+
const aliasTypeParams = (declNode.typeParameters ?? []).map((tp) => tp.name.text);
|
|
614
|
+
const refTypeArgs = (node.typeArguments ?? []).map((t) => convertType(t, binding));
|
|
615
|
+
if (aliasTypeParams.length > 0 && refTypeArgs.length > 0) {
|
|
616
|
+
const subst = new Map();
|
|
617
|
+
for (let i = 0; i < Math.min(aliasTypeParams.length, refTypeArgs.length); i++) {
|
|
618
|
+
const name = aliasTypeParams[i];
|
|
619
|
+
const arg = refTypeArgs[i];
|
|
620
|
+
if (name && arg)
|
|
621
|
+
subst.set(name, arg);
|
|
622
|
+
}
|
|
623
|
+
return subst.size > 0 ? substituteIrType(base, subst) : base;
|
|
624
|
+
}
|
|
625
|
+
return base;
|
|
626
|
+
}
|
|
627
|
+
}
|
|
537
628
|
// tsbindgen facade type families use conditional type aliases to map:
|
|
538
629
|
// Foo<T = __> → Foo (non-generic) or Foo_N<T> (generic)
|
|
539
630
|
//
|
|
@@ -555,7 +646,8 @@ export const convertTypeReference = (node, binding, convertType) => {
|
|
|
555
646
|
(ts.isIdentifier(param.default.typeName)
|
|
556
647
|
? param.default.typeName.text
|
|
557
648
|
: param.default.typeName.getText()) === "__";
|
|
558
|
-
if (hasTsbindgenDefaultSentinel &&
|
|
649
|
+
if (hasTsbindgenDefaultSentinel &&
|
|
650
|
+
ts.isConditionalTypeNode(declNode.type)) {
|
|
559
651
|
const expected = `${typeName}_${node.typeArguments.length}`;
|
|
560
652
|
let found;
|
|
561
653
|
const visit = (t) => {
|
|
@@ -606,7 +698,9 @@ export const convertTypeReference = (node, binding, convertType) => {
|
|
|
606
698
|
const resolvedName = (() => {
|
|
607
699
|
if (!declId)
|
|
608
700
|
return typeName;
|
|
609
|
-
const declInfo = binding
|
|
701
|
+
const declInfo = binding
|
|
702
|
+
._getHandleRegistry()
|
|
703
|
+
.getDecl(declId);
|
|
610
704
|
return declInfo?.fqName ?? typeName;
|
|
611
705
|
})();
|
|
612
706
|
// Reference type (user-defined or library)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/references.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/type-converter/references.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kCAAkC,EAClC,4BAA4B,EAC5B,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B;;;;;;;;;;;GAWG;AACH,MAAM,oCAAoC,GAAG,CAAC,QAAgB,EAAU,EAAE;IACxE,MAAM,MAAM,GAAG,kBAAkB,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IAElD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;QACnB,QAAQ,KAAK,EAAE,CAAC;YACd,gBAAgB;YAChB,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAEhB,mDAAmD;YACnD,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC;YACjB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,OAAO,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,OAAO;gBACV,OAAO,KAAK,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC;YAChB,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC;YAChB,KAAK,QAAQ;gBACX,OAAO,OAAO,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,QAAQ;gBACX,OAAO,OAAO,CAAC;YACjB,KAAK,QAAQ;gBACX,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,SAAS,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC;YAEjB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,yEAAyE;IACzE,6EAA6E;IAC7E,OAAO,MAAM,IAAI,KAAK,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,oCAAoC,GAAG,CAAC,QAAgB,EAAU,EAAE;IACxE,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAElC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,uEAAuE;IACvE,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,8EAA8E;IAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE3C,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAGnC,CAAC;AAEJ;;;;;;;;;;;GAWG;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkC,CAAC;AAErE;;;;;;;;;;;;GAYG;AACH,MAAM,gCAAgC,GAAG,CAAC,IAAiB,EAAW,EAAE;IACtE,wCAAwC;IACxC,OAAO,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAE3C,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,4BAA4B,GAAG,CAAC,IAAoB,EAAW,EAAE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAErC,sEAAsE;IACtE,IACE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzB,UAAU,CAAC,iBAAiB,EAC5B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8BAA8B;IAC9B,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6DAA6D;IAC7D,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,wDAAwD;QACxD,OAAO,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,yCAAyC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,wCAAwC,GAAG,CAC/C,MAA0B,EAC1B,OAAgB,EAChB,WAA4D,EAClB,EAAE;IAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wCAAwC;IACxC,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7B,wDAAwD;QACxD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,CAAC;IAED,2CAA2C;IAC3C,MAAM,QAAQ,GAAI,OAA2B,CAAC,kBAAkB,EAAE,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAW,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACxB,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,QAA0B,CAAC;IAEjD,qEAAqE;IACrE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wCAAwC;IACxC,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,OAAO,GAAwB,EAAE,CAAC;QAExC,0EAA0E;QAC1E,MAAM,YAAY,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,OAAO;YACd,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;gBACnB,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,wEAAwE;QACxE,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,IAAI,EAAE,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3C,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACzC,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;YAClC,qBAAqB;YACrB,IAAI,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC3C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;oBAClB,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC/B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;wBAClB,CAAC,CAAC,SAAS,CAAC;gBAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,SAAS,CAAC,4BAA4B;gBACxC,CAAC;gBAED,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC1C,MAAM,UAAU,GACd,MAAM,CAAC,SAAS,EAAE,IAAI,CACpB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,eAAe,CAChD,IAAI,KAAK,CAAC;gBAEb,uDAAuD;gBACvD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;gBACjC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,SAAS,CAAC,0CAA0C;gBACtD,CAAC;gBAED,uCAAuC;gBACvC,IAAI,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC;wBACrD,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI;wBAC5B,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,QAAQ,IAAI,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACrD,sEAAsE;wBACtE,4CAA4C;wBAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;wBACjE,IAAI,aAAa,EAAE,CAAC;4BAClB,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;4BACxD,MAAM,WAAW,GAAG,eAAe,EAAE,QAExB,CAAC;4BACd,MAAM,aAAa,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC;4BACnD,IAAI,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;gCACrD,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,mBAAmB;oCACzB,IAAI,EAAE,QAAQ;oCACd,IAAI,EAAE,mBAAmB,CAAC,QAA0B,CAAC;oCACrD,UAAU;oCACV,UAAU;iCACX,CAAC,CAAC;gCACH,SAAS;4BACX,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,iCAAiC;gBACjC,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,mBAAmB;oBACzB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC;oBACxC,UAAU;oBACV,UAAU;iBACX,CAAC,CAAC;YACL,CAAC;YAED,mBAAmB;YACnB,IAAI,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;oBAC7C,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI;oBAClB,CAAC,CAAC,SAAS,CAAC;gBAEd,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,SAAS,CAAC,qBAAqB;gBACjC,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;wBACnD,IAAI,EAAE,WAAoB;wBAC1B,OAAO,EAAE;4BACP,IAAI,EAAE,mBAA4B;4BAClC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;gCAC/B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI;gCACjB,CAAC,CAAC,MAAM,KAAK,EAAE;yBAClB;wBACD,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;wBAC/D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa;wBACjC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc;wBAC9B,OAAO,EAAE,OAAgB;qBAC1B,CAAC,CAAC;oBACH,UAAU,EAAE,MAAM,CAAC,IAAI;wBACrB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC;wBACnC,CAAC,CAAC,SAAS;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;QACvD,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,IAA0B,EAC1B,OAAgB,EAChB,WAA4D,EACpD,EAAE;IACV,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;QACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,oCAAoC,CACnD,oCAAoC,CAAC,WAAW,CAAC,CAClD,CAAC;IAEF,iCAAiC;IACjC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,mEAAmE;IACnE,oFAAoF;IACpF,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,8EAA8E;IAC9E,wDAAwD;IACxD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,OAAO,IAAI,YAAY,EAAE,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC;YAC/C,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,IACE,kCAAkC,CAAC,QAAQ,CAAC;QAC5C,IAAI,CAAC,aAAa,EAAE,MAAM,EAC1B,CAAC;QACD,MAAM,QAAQ,GAAG,4BAA4B,CAC3C,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,uEAAuE;IACzE,CAAC;IAED,sCAAsC;IACtC,8DAA8D;IAC9D,mFAAmF;IACnF,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC;IAC7C,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,QAAQ,IAAI,WAAW,IAAI,aAAa,EAAE,CAAC;QAC1D,wDAAwD;QACxD,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACpE,IAAI,cAAc;YAAE,OAAO,cAAc,CAAC;QAE1C,8DAA8D;QAC9D,uDAAuD;QACvD,EAAE;QACF,+DAA+D;QAC/D,8EAA8E;QAC9E,wEAAwE;QACxE,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QACrE,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QAErE,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAEtD,OAAO;gBACL,IAAI,EAAE,gBAAgB;gBACtB,OAAO;gBACP,SAAS;aACU,CAAC;QACxB,CAAC;QACD,2EAA2E;IAC7E,CAAC;IAED,+EAA+E;IAC/E,wEAAwE;IACxE,IAAI,uBAAuB,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACzE,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,uEAAuE;IACzE,CAAC;IAED,mFAAmF;IACnF,kFAAkF;IAClF,uFAAuF;IACvF,6EAA6E;IAC7E,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACvE,CAAC;IAED,kFAAkF;IAClF,iFAAiF;IACjF,+CAA+C;IAC/C,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACvE,CAAC;IAED,oFAAoF;IACpF,mDAAmD;IACnD,IAAI,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IACvE,CAAC;IAED,wFAAwF;IACxF,iEAAiE;IACjE,EAAE;IACF,yFAAyF;IACzF,yFAAyF;IACzF,yCAAyC;IACzC,IAAI,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;IAC7E,CAAC;IAED,+DAA+D;IAC/D,wEAAwE;IACxE,8EAA8E;IAC9E,IACE,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,OAAO,CAAC;QAClE,IAAI,CAAC,aAAa;QAClB,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAC/B,CAAC;QACD,sCAAsC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7B,CAAC;QACD,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAI,OAA2B;aAC1C,kBAAkB,EAAE;aACpB,OAAO,CAAC,MAAM,CAAC,CAAC;QACnB,IAAI,QAAQ,EAAE,CAAC;YACb,qFAAqF;YACrF,wEAAwE;YACxE,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAE/C,CAAC;YACd,IAAI,QAAQ,IAAI,EAAE,CAAC,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxD,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACvD,CAAC;YAED,sEAAsE;YACtE,EAAE;YACF,kDAAkD;YAClD,sDAAsD;YACtD,mDAAmD;YACnD,EAAE;YACF,0EAA0E;YAC1E,6EAA6E;YAC7E,6EAA6E;YAC7E,mDAAmD;YACnD,MAAM,wCAAwC,GAAG,CAC/C,IAAoB,EACU,EAAE;gBAChC,MAAM,YAAY,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;oBAClD,CAAC,CAAC,IAAI,CAAC,OAAO;oBACd,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;wBAClE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;wBACnB,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,CAAC,YAAY;oBAAE,OAAO,SAAS,CAAC;gBAEpC,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CACzC,EAAE,CAAC,2BAA2B,CAC/B,CAAC;gBACF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAC1C,CAAC;gBACF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5D,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAED,MAAM,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,WAAW,GAAG,QAAQ,EAAE,IAAI,CAAC;gBACnC,MAAM,OAAO,GACX,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa;oBAC7D,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,QAAQ,EAAE,IAAI;oBAC9B,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;oBACrC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;gBAEjC,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,OAAO;oBACP,SAAS;iBACV,CAAC;YACJ,CAAC,CAAC;YAEF,MAAM,gBAAgB,GAAG,QAAQ;gBAC/B,CAAC,CAAC,wCAAwC,CAAC,QAAQ,CAAC;gBACpD,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,gBAAgB,CAAC;YAC1B,CAAC;YAED,wCAAwC;YACxC,gFAAgF;YAChF,0EAA0E;YAC1E,yCAAyC;YACzC,IAAI,QAAQ,IAAI,EAAE,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpD,kEAAkE;gBAClE,EAAE;gBACF,yEAAyE;gBACzE,EAAE;gBACF,uEAAuE;gBACvE,mFAAmF;gBACnF,2EAA2E;gBAC3E,EAAE;gBACF,gFAAgF;gBAChF,4DAA4D;gBAC5D,IACE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;oBAClD,IAAI,CAAC,aAAa,EAAE,MAAM,KAAK,CAAC,EAChC,CAAC;oBACD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBACpC,OAAO,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBACvE,CAAC;gBAED,IAAI,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,4EAA4E;oBAC5E,EAAE;oBACF,uBAAuB;oBACvB,2DAA2D;oBAC3D,EAAE;oBACF,6DAA6D;oBAC7D,wEAAwE;oBACxE,8DAA8D;oBAC9D,oEAAoE;oBACpE,6BAA6B;oBAC7B,EAAE;oBACF,qEAAqE;oBACrE,EAAE;oBACF,+DAA+D;oBAC/D,iEAAiE;oBACjE,sEAAsE;oBACtE,+CAA+C;oBAC/C,EAAE;oBACF,sEAAsE;oBACtE,6CAA6C;oBAC7C,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC,iBAAiB,EAAE,CAAC;wBAC/C,0EAA0E;oBAC5E,CAAC;yBAAM,CAAC;wBACN,MAAM,MAAM,GAAG,mBAAmB,CAChC,QAAQ,CAAC,IAAI,EACb,OAAO,EACP,WAAW,CACZ,CAAC;wBAEF,uFAAuF;wBACvF,gFAAgF;wBAChF,wDAAwD;wBACxD,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CACzD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CACrB,CAAC;wBACF,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CACxB,CAAC;wBAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;4BACxC,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EACxD,CAAC,EAAE,EACH,CAAC;gCACD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gCAChC,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC3B,IAAI,IAAI,IAAI,GAAG;oCAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;4BACxC,CAAC;4BAED,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACnE,CAAC;wBAED,OAAO,MAAM,CAAC;oBAChB,CAAC;gBACH,CAAC;gBAED,kEAAkE;gBAClE,EAAE;gBACF,uFAAuF;gBACvF,qBAAqB;gBACrB,EAAE;gBACF,+BAA+B;gBAC/B,sCAAsC;gBACtC,iEAAiE;gBACjE,sEAAsE;gBACtE,EAAE;gBACF,2FAA2F;gBAC3F,wEAAwE;gBACxE,IACE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,iBAAiB;oBAC3C,gCAAgC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC/C,CAAC;oBACD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAE3C,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;wBAC7B,iGAAiG;oBACnG,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,GACR,MAAM;4BACN,CAAC,GAAG,EAAE;gCACJ,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gCAC3C,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gCACtD,kBAAkB,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gCACvC,OAAO,SAAS,CAAC;4BACnB,CAAC,CAAC,EAAE,CAAC;wBAEP,MAAM,eAAe,GAAG,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CACzD,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CACrB,CAAC;wBACF,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvD,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CACxB,CAAC;wBAEF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACzD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;4BACxC,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,EACxD,CAAC,EAAE,EACH,CAAC;gCACD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gCAChC,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;gCAC3B,IAAI,IAAI,IAAI,GAAG;oCAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;4BACxC,CAAC;4BACD,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC/D,CAAC;wBAED,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,0DAA0D;gBAC1D,EAAE;gBACF,WAAW;gBACX,sCAAsC;gBACtC,2EAA2E;gBAC3E,EAAE;gBACF,4EAA4E;gBAC5E,0EAA0E;gBAC1E,yEAAyE;gBACzE,IACE,IAAI,CAAC,aAAa;oBAClB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;oBAC7B,QAAQ,CAAC,cAAc;oBACvB,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EACpC,CAAC;oBACD,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;oBACzC,MAAM,2BAA2B,GAC/B,CAAC,CAAC,KAAK;wBACP,CAAC,CAAC,KAAK,CAAC,OAAO;wBACf,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC;wBACrC,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;4BACtC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI;4BAC7B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;oBAEjD,IACE,2BAA2B;wBAC3B,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EACvC,CAAC;wBACD,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;wBAC5D,IAAI,KAAyB,CAAC;wBAE9B,MAAM,KAAK,GAAG,CAAC,CAAc,EAAQ,EAAE;4BACrC,IAAI,KAAK;gCAAE,OAAO;4BAElB,IAAI,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;oCACrC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI;oCACjB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;gCACzB,MAAM,UAAU,GAAG,oCAAoC,CACrD,oCAAoC,CAAC,GAAG,CAAC,CAC1C,CAAC;gCACF,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oCAC5B,KAAK,GAAG,UAAU,CAAC;gCACrB,CAAC;gCACD,OAAO;4BACT,CAAC;4BAED,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;gCAChC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gCAClB,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gCACnB,OAAO;4BACT,CAAC;4BAED,IAAI,EAAE,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;gCAClC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;4BAChB,CAAC;wBACH,CAAC,CAAC;wBAEF,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAErB,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO;gCACL,IAAI,EAAE,eAAe;gCACrB,IAAI,EAAE,KAAK;gCACX,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1C,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CACxB;6BACF,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,6DAA6D;IAC7D,wEAAwE;IAExE,2DAA2D;IAC3D,iEAAiE;IACjE,MAAM,iBAAiB,GAAG,wCAAwC,CAChE,MAAM,EAAE,EAAE,EACV,OAAO,EACP,WAAW,CACZ,CAAC;IAEF,2EAA2E;IAC3E,8EAA8E;IAC9E,8EAA8E;IAC9E,8DAA8D;IAC9D,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QAC7B,MAAM,QAAQ,GAAI,OAA2B;aAC1C,kBAAkB,EAAE;aACpB,OAAO,CAAC,MAAM,CAAC,CAAC;QACnB,OAAO,QAAQ,EAAE,MAAM,IAAI,QAAQ,CAAC;IACtC,CAAC,CAAC,EAAE,CAAC;IAEL,2CAA2C;IAC3C,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,YAAY;QAClB,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACtE,iBAAiB;KAClB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -320,6 +320,8 @@ export type TypeSubstitutionMap = ReadonlyMap<string, IrType>;
|
|
|
320
320
|
export type RawSignatureInfo = {
|
|
321
321
|
/** Parameter types (undefined = missing annotation → TSN5201) */
|
|
322
322
|
readonly parameterTypes: readonly (IrType | undefined)[];
|
|
323
|
+
/** TypeScript `this:` parameter type (if present). Excluded from `parameterTypes`. */
|
|
324
|
+
readonly thisParameterType?: IrType;
|
|
323
325
|
/** Return type (voidType if not specified) */
|
|
324
326
|
readonly returnType: IrType;
|
|
325
327
|
/** Parameter modes */
|
|
@@ -462,6 +464,8 @@ export type DeclKind = "variable" | "function" | "class" | "interface" | "typeAl
|
|
|
462
464
|
export type SignatureInfo = {
|
|
463
465
|
/** Parameter nodes */
|
|
464
466
|
readonly parameters: readonly ParameterNode[];
|
|
467
|
+
/** Type node of a TypeScript `this:` parameter (if present). Excluded from `parameters`. */
|
|
468
|
+
readonly thisTypeNode?: unknown;
|
|
465
469
|
/** Return type node (ts.TypeNode, cast to unknown) */
|
|
466
470
|
readonly returnTypeNode?: unknown;
|
|
467
471
|
/** Type parameters */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-system.d.ts","sourceRoot":"","sources":["../../../src/ir/type-system/type-system.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,MAAM,EACN,cAAc,EAMd,iBAAiB,EAElB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,2BAA2B,CAAC;AAC5E,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,aAAa,EACd,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"type-system.d.ts","sourceRoot":"","sources":["../../../src/ir/type-system/type-system.ts"],"names":[],"mappings":"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"}
|