@typespec/compiler 0.48.0-dev.13 → 0.48.0-dev.16
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/manifest.js +2 -2
- package/dist/src/config/config-loader.d.ts.map +1 -1
- package/dist/src/config/config-loader.js +20 -14
- package/dist/src/config/config-loader.js.map +1 -1
- package/dist/src/config/config-schema.d.ts.map +1 -1
- package/dist/src/config/config-schema.js +1 -0
- package/dist/src/config/config-schema.js.map +1 -1
- package/dist/src/config/types.d.ts +3 -0
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/core/checker.d.ts.map +1 -1
- package/dist/src/core/checker.js +73 -22
- package/dist/src/core/checker.js.map +1 -1
- package/dist/src/core/cli/actions/compile/compile.js +1 -1
- package/dist/src/core/cli/actions/compile/compile.js.map +1 -1
- package/dist/src/core/cli/actions/info.d.ts.map +1 -1
- package/dist/src/core/cli/actions/info.js +3 -4
- package/dist/src/core/cli/actions/info.js.map +1 -1
- package/dist/src/core/messages.d.ts +20 -2
- package/dist/src/core/messages.d.ts.map +1 -1
- package/dist/src/core/messages.js +6 -0
- package/dist/src/core/messages.js.map +1 -1
- package/dist/src/core/schema-validator.d.ts +4 -0
- package/dist/src/core/schema-validator.d.ts.map +1 -1
- package/dist/src/core/schema-validator.js +37 -1
- package/dist/src/core/schema-validator.js.map +1 -1
- package/dist/src/core/types.d.ts +6 -2
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +1 -0
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/init/init.js +2 -2
- package/dist/src/init/init.js.map +1 -1
- package/dist/src/server/serverlib.d.ts.map +1 -1
- package/dist/src/server/serverlib.js +5 -3
- package/dist/src/server/serverlib.js.map +1 -1
- package/dist/src/yaml/diagnostics.d.ts +4 -0
- package/dist/src/yaml/diagnostics.d.ts.map +1 -0
- package/dist/src/yaml/diagnostics.js +45 -0
- package/dist/src/yaml/diagnostics.js.map +1 -0
- package/dist/src/yaml/index.d.ts +4 -0
- package/dist/src/yaml/index.d.ts.map +1 -0
- package/dist/src/yaml/index.js +4 -0
- package/dist/src/yaml/index.js.map +1 -0
- package/dist/src/yaml/parser.d.ts +4 -0
- package/dist/src/yaml/parser.d.ts.map +1 -0
- package/dist/src/yaml/parser.js +30 -0
- package/dist/src/yaml/parser.js.map +1 -0
- package/dist/src/yaml/types.d.ts +9 -0
- package/dist/src/yaml/types.d.ts.map +1 -0
- package/dist/src/yaml/types.js +2 -0
- package/dist/src/yaml/types.js.map +1 -0
- package/package.json +2 -3
package/dist/manifest.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/config/config-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/config/config-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAwB,MAAM,kBAAkB,CAAC;AAOlF,OAAO,EAAE,cAAc,EAAqB,MAAM,YAAY,CAAC;AAE/D,eAAO,MAAM,yBAAyB,sBAAsB,CAAC;AAC7D,eAAO,MAAM,sBAAsB,mBAAmB,CAAC;AAEvD,eAAO,MAAM,aAAa;;;CAGxB,CAAC;AAEH;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,OAAc,GACrB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8C7B;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,MAAM,EACZ,eAAe,GAAE,OAAe,EAChC,MAAM,GAAE,OAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CAiCzB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAiED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,UAAU,EAAE,CAqBzF"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import jsyaml from "js-yaml";
|
|
2
1
|
import { createDiagnostic } from "../core/messages.js";
|
|
3
2
|
import { getDirectoryPath, isPathAbsolute, joinPaths, resolvePath } from "../core/path-utils.js";
|
|
4
3
|
import { createJSONSchemaValidator } from "../core/schema-validator.js";
|
|
5
4
|
import { NoTarget } from "../core/types.js";
|
|
6
|
-
import { deepClone, deepFreeze, doIO,
|
|
5
|
+
import { deepClone, deepFreeze, doIO, omitUndefined } from "../core/util.js";
|
|
6
|
+
import { createSourceFile } from "../index.js";
|
|
7
|
+
import { getLocationInYamlScript } from "../yaml/index.js";
|
|
8
|
+
import { parseYaml } from "../yaml/parser.js";
|
|
7
9
|
import { TypeSpecConfigJsonSchema } from "./config-schema.js";
|
|
8
10
|
export const OldTypeSpecConfigFilename = "cadl-project.yaml";
|
|
9
11
|
export const TypeSpecConfigFilename = "tspconfig.yaml";
|
|
@@ -91,7 +93,7 @@ export async function loadTypeSpecConfigForPath(host, path, errorIfNotFound = fa
|
|
|
91
93
|
* Load given file as a TypeSpec configuration
|
|
92
94
|
*/
|
|
93
95
|
export async function loadTypeSpecConfigFile(host, filePath) {
|
|
94
|
-
const config = await loadConfigFile(host, filePath,
|
|
96
|
+
const config = await loadConfigFile(host, filePath, parseYaml);
|
|
95
97
|
if (config.diagnostics.length === 0 && config.extends) {
|
|
96
98
|
const extendPath = resolvePath(getDirectoryPath(filePath), config.extends);
|
|
97
99
|
const parent = await loadTypeSpecConfigFile(host, extendPath);
|
|
@@ -128,12 +130,15 @@ async function searchConfigFile(host, path, filename) {
|
|
|
128
130
|
return (stat === null || stat === void 0 ? void 0 : stat.isFile()) === true ? pkgPath : undefined;
|
|
129
131
|
}
|
|
130
132
|
async function loadConfigFile(host, filename, loadData) {
|
|
131
|
-
var _a;
|
|
133
|
+
var _a, _b;
|
|
132
134
|
let diagnostics = [];
|
|
133
135
|
const reportDiagnostic = (d) => diagnostics.push(d);
|
|
134
|
-
|
|
136
|
+
const file = (_a = (await doIO(host.readFile, filename, reportDiagnostic))) !== null && _a !== void 0 ? _a : createSourceFile("", filename);
|
|
137
|
+
const [yamlScript, yamlDiagnostics] = loadData(file);
|
|
138
|
+
yamlDiagnostics.forEach((d) => reportDiagnostic(d));
|
|
139
|
+
let data = yamlScript.value;
|
|
135
140
|
if (data) {
|
|
136
|
-
diagnostics = diagnostics.concat(configValidator.validate(data,
|
|
141
|
+
diagnostics = diagnostics.concat(configValidator.validate(data, yamlScript));
|
|
137
142
|
}
|
|
138
143
|
if (!data || diagnostics.length > 0) {
|
|
139
144
|
// NOTE: Don't trust the data if there are errors and use default
|
|
@@ -145,12 +150,13 @@ async function loadConfigFile(host, filename, loadData) {
|
|
|
145
150
|
const options = data.options;
|
|
146
151
|
return omitUndefined({
|
|
147
152
|
projectRoot: getDirectoryPath(filename),
|
|
153
|
+
file: yamlScript,
|
|
148
154
|
filename,
|
|
149
155
|
diagnostics,
|
|
150
156
|
extends: data.extends,
|
|
151
157
|
environmentVariables: data["environment-variables"],
|
|
152
158
|
parameters: data.parameters,
|
|
153
|
-
outputDir: (
|
|
159
|
+
outputDir: (_b = data["output-dir"]) !== null && _b !== void 0 ? _b : "{cwd}/tsp-output",
|
|
154
160
|
warnAsError: data["warn-as-error"],
|
|
155
161
|
imports: data.imports,
|
|
156
162
|
trace: typeof data.trace === "string" ? [data.trace] : data.trace,
|
|
@@ -162,27 +168,27 @@ async function loadConfigFile(host, filename, loadData) {
|
|
|
162
168
|
export function validateConfigPathsAbsolute(config) {
|
|
163
169
|
var _a;
|
|
164
170
|
const diagnostics = [];
|
|
165
|
-
function checkPath(value) {
|
|
171
|
+
function checkPath(value, path) {
|
|
166
172
|
if (value === undefined) {
|
|
167
173
|
return;
|
|
168
174
|
}
|
|
169
|
-
const diagnostic = validatePathAbsolute(value);
|
|
175
|
+
const diagnostic = validatePathAbsolute(value, config.file ? { file: config.file, path } : NoTarget);
|
|
170
176
|
if (diagnostic) {
|
|
171
177
|
diagnostics.push(diagnostic);
|
|
172
178
|
}
|
|
173
179
|
}
|
|
174
|
-
checkPath(config.outputDir);
|
|
175
|
-
for (const emitterOptions of Object.
|
|
176
|
-
checkPath(emitterOptions["emitter-output-dir"]);
|
|
180
|
+
checkPath(config.outputDir, ["output-dir"]);
|
|
181
|
+
for (const [emitterName, emitterOptions] of Object.entries((_a = config.options) !== null && _a !== void 0 ? _a : {})) {
|
|
182
|
+
checkPath(emitterOptions["emitter-output-dir"], ["options", emitterName, "emitter-output-dir"]);
|
|
177
183
|
}
|
|
178
184
|
return diagnostics;
|
|
179
185
|
}
|
|
180
|
-
function validatePathAbsolute(path) {
|
|
186
|
+
function validatePathAbsolute(path, target) {
|
|
181
187
|
if (path.startsWith(".") || !isPathAbsolute(path)) {
|
|
182
188
|
return createDiagnostic({
|
|
183
189
|
code: "config-path-absolute",
|
|
184
190
|
format: { path },
|
|
185
|
-
target: NoTarget,
|
|
191
|
+
target: target === NoTarget ? target : getLocationInYamlScript(target.file, target.path),
|
|
186
192
|
});
|
|
187
193
|
}
|
|
188
194
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/config/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAkB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAW/D,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAkB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAW/D,eAAO,MAAM,wBAAwB,EAAE,cAAc,CAAC,iBAAiB,CAqGtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../../src/config/config-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Diagnostic, RuleRef } from "../core/index.js";
|
|
2
|
+
import { YamlScript } from "../yaml/types.js";
|
|
2
3
|
/**
|
|
3
4
|
* Represent the normalized user configuration.
|
|
4
5
|
*/
|
|
@@ -7,6 +8,8 @@ export interface TypeSpecConfig {
|
|
|
7
8
|
* Project root.
|
|
8
9
|
*/
|
|
9
10
|
projectRoot: string;
|
|
11
|
+
/** Yaml file used in this configuration. */
|
|
12
|
+
file?: YamlScript;
|
|
10
13
|
/**
|
|
11
14
|
* Path to the config file used to create this configuration.
|
|
12
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAEjE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEzC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;IAEpD,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACrD,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/checker.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/checker.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var _PendingResolutions_data;
|
|
1
7
|
import { $docFromComment, getIndexer } from "../lib/decorators.js";
|
|
2
8
|
import { createSymbol, createSymbolTable } from "./binder.js";
|
|
3
9
|
import { getDeprecationDetails, markDeprecated } from "./deprecation.js";
|
|
@@ -63,7 +69,7 @@ export function createChecker(program) {
|
|
|
63
69
|
* Set keeping track of node pending type resolution.
|
|
64
70
|
* Key is the SymId of a node. It can be retrieved with getNodeSymId(node)
|
|
65
71
|
*/
|
|
66
|
-
const pendingResolutions = new
|
|
72
|
+
const pendingResolutions = new PendingResolutions();
|
|
67
73
|
for (const file of program.jsSourceFiles.values()) {
|
|
68
74
|
mergeSourceFile(file);
|
|
69
75
|
}
|
|
@@ -1175,14 +1181,14 @@ export function createChecker(program) {
|
|
|
1175
1181
|
// Ensure that we don't end up with a circular reference to the same operation
|
|
1176
1182
|
const opSymId = getNodeSymId(operation);
|
|
1177
1183
|
if (opSymId) {
|
|
1178
|
-
pendingResolutions.
|
|
1184
|
+
pendingResolutions.start(opSymId, ResolutionKind.BaseType);
|
|
1179
1185
|
}
|
|
1180
1186
|
const target = resolveTypeReferenceSym(opReference, mapper);
|
|
1181
1187
|
if (target === undefined) {
|
|
1182
1188
|
return undefined;
|
|
1183
1189
|
}
|
|
1184
1190
|
// Did we encounter a circular operation reference?
|
|
1185
|
-
if (pendingResolutions.has(getNodeSymId(target.declarations[0]))) {
|
|
1191
|
+
if (pendingResolutions.has(getNodeSymId(target.declarations[0]), ResolutionKind.BaseType)) {
|
|
1186
1192
|
if (mapper === undefined) {
|
|
1187
1193
|
reportCheckerDiagnostic(createDiagnostic({
|
|
1188
1194
|
code: "circular-op-signature",
|
|
@@ -1195,7 +1201,7 @@ export function createChecker(program) {
|
|
|
1195
1201
|
// Resolve the base operation type
|
|
1196
1202
|
const baseOperation = checkTypeReferenceSymbol(target, opReference, mapper);
|
|
1197
1203
|
if (opSymId) {
|
|
1198
|
-
pendingResolutions.
|
|
1204
|
+
pendingResolutions.finish(opSymId, ResolutionKind.BaseType);
|
|
1199
1205
|
}
|
|
1200
1206
|
if (isErrorType(baseOperation)) {
|
|
1201
1207
|
return undefined;
|
|
@@ -2153,12 +2159,12 @@ export function createChecker(program) {
|
|
|
2153
2159
|
return undefined;
|
|
2154
2160
|
}
|
|
2155
2161
|
const modelSymId = getNodeSymId(model);
|
|
2156
|
-
pendingResolutions.
|
|
2162
|
+
pendingResolutions.start(modelSymId, ResolutionKind.BaseType);
|
|
2157
2163
|
const target = resolveTypeReferenceSym(heritageRef, mapper);
|
|
2158
2164
|
if (target === undefined) {
|
|
2159
2165
|
return undefined;
|
|
2160
2166
|
}
|
|
2161
|
-
if (pendingResolutions.has(getNodeSymId(target.declarations[0]))) {
|
|
2167
|
+
if (pendingResolutions.has(getNodeSymId(target.declarations[0]), ResolutionKind.BaseType)) {
|
|
2162
2168
|
if (mapper === undefined) {
|
|
2163
2169
|
reportCheckerDiagnostic(createDiagnostic({
|
|
2164
2170
|
code: "circular-base-type",
|
|
@@ -2169,7 +2175,7 @@ export function createChecker(program) {
|
|
|
2169
2175
|
return undefined;
|
|
2170
2176
|
}
|
|
2171
2177
|
const heritageType = checkTypeReferenceSymbol(target, heritageRef, mapper);
|
|
2172
|
-
pendingResolutions.
|
|
2178
|
+
pendingResolutions.finish(modelSymId, ResolutionKind.BaseType);
|
|
2173
2179
|
if (isErrorType(heritageType)) {
|
|
2174
2180
|
compilerAssert(program.hasError(), "Should already have reported an error.", heritageRef);
|
|
2175
2181
|
return undefined;
|
|
@@ -2191,7 +2197,7 @@ export function createChecker(program) {
|
|
|
2191
2197
|
if (!isExpr)
|
|
2192
2198
|
return undefined;
|
|
2193
2199
|
const modelSymId = getNodeSymId(model);
|
|
2194
|
-
pendingResolutions.
|
|
2200
|
+
pendingResolutions.start(modelSymId, ResolutionKind.BaseType);
|
|
2195
2201
|
let isType;
|
|
2196
2202
|
if (isExpr.kind === SyntaxKind.ModelExpression) {
|
|
2197
2203
|
reportCheckerDiagnostic(createDiagnostic({
|
|
@@ -2209,7 +2215,7 @@ export function createChecker(program) {
|
|
|
2209
2215
|
if (target === undefined) {
|
|
2210
2216
|
return undefined;
|
|
2211
2217
|
}
|
|
2212
|
-
if (pendingResolutions.has(getNodeSymId(target.declarations[0]))) {
|
|
2218
|
+
if (pendingResolutions.has(getNodeSymId(target.declarations[0]), ResolutionKind.BaseType)) {
|
|
2213
2219
|
if (mapper === undefined) {
|
|
2214
2220
|
reportCheckerDiagnostic(createDiagnostic({
|
|
2215
2221
|
code: "circular-base-type",
|
|
@@ -2225,7 +2231,7 @@ export function createChecker(program) {
|
|
|
2225
2231
|
reportCheckerDiagnostic(createDiagnostic({ code: "is-model", target: isExpr }));
|
|
2226
2232
|
return undefined;
|
|
2227
2233
|
}
|
|
2228
|
-
pendingResolutions.
|
|
2234
|
+
pendingResolutions.finish(modelSymId, ResolutionKind.BaseType);
|
|
2229
2235
|
if (isType.kind !== "Model") {
|
|
2230
2236
|
reportCheckerDiagnostic(createDiagnostic({ code: "is-model", target: isExpr }));
|
|
2231
2237
|
return;
|
|
@@ -2279,24 +2285,35 @@ export function createChecker(program) {
|
|
|
2279
2285
|
}
|
|
2280
2286
|
function checkModelProperty(prop, mapper) {
|
|
2281
2287
|
var _a, _b, _c;
|
|
2288
|
+
const symId = getSymbolId(getSymbolForMember(prop));
|
|
2282
2289
|
const links = getSymbolLinksForMember(prop);
|
|
2283
2290
|
if (links && links.declaredType && mapper === undefined) {
|
|
2284
2291
|
return links.declaredType;
|
|
2285
2292
|
}
|
|
2286
2293
|
const name = prop.id.sv;
|
|
2287
|
-
const valueType = getTypeForNode(prop.value, mapper);
|
|
2288
|
-
const defaultValue = prop.default && checkDefault(prop.default, valueType);
|
|
2289
2294
|
const type = createType({
|
|
2290
2295
|
kind: "ModelProperty",
|
|
2291
2296
|
name,
|
|
2292
2297
|
node: prop,
|
|
2293
2298
|
optional: prop.optional,
|
|
2294
|
-
type:
|
|
2299
|
+
type: undefined,
|
|
2295
2300
|
decorators: [],
|
|
2296
|
-
default: defaultValue,
|
|
2297
2301
|
});
|
|
2298
|
-
if (
|
|
2299
|
-
|
|
2302
|
+
if (pendingResolutions.has(symId, ResolutionKind.Type) && mapper === undefined) {
|
|
2303
|
+
reportCheckerDiagnostic(createDiagnostic({
|
|
2304
|
+
code: "circular-prop",
|
|
2305
|
+
format: { propName: name },
|
|
2306
|
+
target: prop,
|
|
2307
|
+
}));
|
|
2308
|
+
type.type = errorType;
|
|
2309
|
+
}
|
|
2310
|
+
else {
|
|
2311
|
+
pendingResolutions.start(symId, ResolutionKind.Type);
|
|
2312
|
+
type.type = getTypeForNode(prop.value, mapper);
|
|
2313
|
+
type.default = prop.default && checkDefault(prop.default, type.type);
|
|
2314
|
+
if (links) {
|
|
2315
|
+
linkType(links, type, mapper);
|
|
2316
|
+
}
|
|
2300
2317
|
}
|
|
2301
2318
|
type.decorators = checkDecorators(type, prop, mapper);
|
|
2302
2319
|
const parentTemplate = getParentTemplateNode(prop);
|
|
@@ -2314,6 +2331,7 @@ export function createChecker(program) {
|
|
|
2314
2331
|
}
|
|
2315
2332
|
finishType(type);
|
|
2316
2333
|
}
|
|
2334
|
+
pendingResolutions.finish(symId, ResolutionKind.Type);
|
|
2317
2335
|
return type;
|
|
2318
2336
|
}
|
|
2319
2337
|
function isValueType(type) {
|
|
@@ -2569,12 +2587,12 @@ export function createChecker(program) {
|
|
|
2569
2587
|
}
|
|
2570
2588
|
function checkScalarExtends(scalar, extendsRef, mapper) {
|
|
2571
2589
|
const symId = getNodeSymId(scalar);
|
|
2572
|
-
pendingResolutions.
|
|
2590
|
+
pendingResolutions.start(symId, ResolutionKind.BaseType);
|
|
2573
2591
|
const target = resolveTypeReferenceSym(extendsRef, mapper);
|
|
2574
2592
|
if (target === undefined) {
|
|
2575
2593
|
return undefined;
|
|
2576
2594
|
}
|
|
2577
|
-
if (pendingResolutions.has(getNodeSymId(target.declarations[0]))) {
|
|
2595
|
+
if (pendingResolutions.has(getNodeSymId(target.declarations[0]), ResolutionKind.BaseType)) {
|
|
2578
2596
|
if (mapper === undefined) {
|
|
2579
2597
|
reportCheckerDiagnostic(createDiagnostic({
|
|
2580
2598
|
code: "circular-base-type",
|
|
@@ -2585,7 +2603,7 @@ export function createChecker(program) {
|
|
|
2585
2603
|
return undefined;
|
|
2586
2604
|
}
|
|
2587
2605
|
const extendsType = checkTypeReferenceSymbol(target, extendsRef, mapper);
|
|
2588
|
-
pendingResolutions.
|
|
2606
|
+
pendingResolutions.finish(symId, ResolutionKind.BaseType);
|
|
2589
2607
|
if (isErrorType(extendsType)) {
|
|
2590
2608
|
compilerAssert(program.hasError(), "Should already have reported an error.", extendsRef);
|
|
2591
2609
|
return undefined;
|
|
@@ -2603,7 +2621,7 @@ export function createChecker(program) {
|
|
|
2603
2621
|
}
|
|
2604
2622
|
checkTemplateDeclaration(node, mapper);
|
|
2605
2623
|
const aliasSymId = getNodeSymId(node);
|
|
2606
|
-
if (pendingResolutions.has(aliasSymId)) {
|
|
2624
|
+
if (pendingResolutions.has(aliasSymId, ResolutionKind.Type)) {
|
|
2607
2625
|
if (mapper === undefined) {
|
|
2608
2626
|
reportCheckerDiagnostic(createDiagnostic({
|
|
2609
2627
|
code: "circular-alias-type",
|
|
@@ -2614,10 +2632,10 @@ export function createChecker(program) {
|
|
|
2614
2632
|
links.declaredType = errorType;
|
|
2615
2633
|
return errorType;
|
|
2616
2634
|
}
|
|
2617
|
-
pendingResolutions.
|
|
2635
|
+
pendingResolutions.start(aliasSymId, ResolutionKind.Type);
|
|
2618
2636
|
const type = getTypeForNode(node.value, mapper);
|
|
2619
2637
|
linkType(links, type, mapper);
|
|
2620
|
-
pendingResolutions.
|
|
2638
|
+
pendingResolutions.finish(aliasSymId, ResolutionKind.Type);
|
|
2621
2639
|
return type;
|
|
2622
2640
|
}
|
|
2623
2641
|
function checkEnum(node, mapper) {
|
|
@@ -4536,6 +4554,39 @@ const ReflectionNameToKind = {
|
|
|
4536
4554
|
UnionVariant: "UnionVariant",
|
|
4537
4555
|
};
|
|
4538
4556
|
const _assertReflectionNameToKind = ReflectionNameToKind;
|
|
4557
|
+
var ResolutionKind;
|
|
4558
|
+
(function (ResolutionKind) {
|
|
4559
|
+
ResolutionKind[ResolutionKind["Type"] = 0] = "Type";
|
|
4560
|
+
ResolutionKind[ResolutionKind["BaseType"] = 1] = "BaseType";
|
|
4561
|
+
})(ResolutionKind || (ResolutionKind = {}));
|
|
4562
|
+
class PendingResolutions {
|
|
4563
|
+
constructor() {
|
|
4564
|
+
_PendingResolutions_data.set(this, new Map());
|
|
4565
|
+
}
|
|
4566
|
+
start(symId, kind) {
|
|
4567
|
+
let existing = __classPrivateFieldGet(this, _PendingResolutions_data, "f").get(symId);
|
|
4568
|
+
if (existing === undefined) {
|
|
4569
|
+
existing = new Set();
|
|
4570
|
+
__classPrivateFieldGet(this, _PendingResolutions_data, "f").set(symId, existing);
|
|
4571
|
+
}
|
|
4572
|
+
existing.add(kind);
|
|
4573
|
+
}
|
|
4574
|
+
has(symId, kind) {
|
|
4575
|
+
var _a, _b;
|
|
4576
|
+
return (_b = (_a = __classPrivateFieldGet(this, _PendingResolutions_data, "f").get(symId)) === null || _a === void 0 ? void 0 : _a.has(kind)) !== null && _b !== void 0 ? _b : false;
|
|
4577
|
+
}
|
|
4578
|
+
finish(symId, kind) {
|
|
4579
|
+
const existing = __classPrivateFieldGet(this, _PendingResolutions_data, "f").get(symId);
|
|
4580
|
+
if (existing === undefined) {
|
|
4581
|
+
return;
|
|
4582
|
+
}
|
|
4583
|
+
existing === null || existing === void 0 ? void 0 : existing.delete(kind);
|
|
4584
|
+
if (existing.size === 0) {
|
|
4585
|
+
__classPrivateFieldGet(this, _PendingResolutions_data, "f").delete(symId);
|
|
4586
|
+
}
|
|
4587
|
+
}
|
|
4588
|
+
}
|
|
4589
|
+
_PendingResolutions_data = new WeakMap();
|
|
4539
4590
|
var Related;
|
|
4540
4591
|
(function (Related) {
|
|
4541
4592
|
Related[Related["false"] = 0] = "false";
|