@angular/compiler-cli 14.0.0-next.1 → 14.0.0-next.10
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/bundles/{chunk-7PY7XEFH.js → chunk-5K2JLFXT.js} +7 -7
- package/bundles/chunk-5K2JLFXT.js.map +6 -0
- package/bundles/{chunk-XNYP2SFR.js → chunk-6356XFP6.js} +98 -91
- package/bundles/chunk-6356XFP6.js.map +6 -0
- package/bundles/{chunk-Z2HS4HDG.js → chunk-BRHP6XKM.js} +4 -4
- package/bundles/chunk-BRHP6XKM.js.map +6 -0
- package/bundles/{chunk-JMLPLN5C.js → chunk-GAGUQCGV.js} +41 -41
- package/bundles/chunk-GAGUQCGV.js.map +6 -0
- package/bundles/{chunk-C44PYKVA.js → chunk-GMECRI4A.js} +2638 -1880
- package/bundles/chunk-GMECRI4A.js.map +6 -0
- package/bundles/{chunk-WQ3TNYTD.js → chunk-GMSUYBZP.js} +8 -11
- package/bundles/{chunk-WQ3TNYTD.js.map → chunk-GMSUYBZP.js.map} +0 -0
- package/bundles/{chunk-GLCRIILX.js → chunk-LC26KH5A.js} +5 -5
- package/bundles/chunk-LC26KH5A.js.map +6 -0
- package/bundles/{chunk-4KQK6VRA.js → chunk-LV3S6HFU.js} +80 -80
- package/bundles/chunk-LV3S6HFU.js.map +6 -0
- package/bundles/{chunk-CKFLH7L7.js → chunk-MGNOHKS6.js} +522 -934
- package/bundles/chunk-MGNOHKS6.js.map +6 -0
- package/bundles/{chunk-QDWL7SZJ.js → chunk-SJL5HBUW.js} +2 -2
- package/bundles/chunk-SJL5HBUW.js.map +6 -0
- package/bundles/{chunk-ALKVYGAK.js → chunk-T7KW7P7D.js} +74 -67
- package/bundles/chunk-T7KW7P7D.js.map +6 -0
- package/bundles/{chunk-FXU7FMZC.js → chunk-TD64C4QJ.js} +9 -9
- package/bundles/chunk-TD64C4QJ.js.map +6 -0
- package/bundles/{chunk-A5PL3TE6.js → chunk-TV7VZNWL.js} +36 -36
- package/bundles/chunk-TV7VZNWL.js.map +6 -0
- package/bundles/{chunk-PKOZO2VO.js → chunk-TXPPTZTK.js} +6 -6
- package/bundles/chunk-TXPPTZTK.js.map +6 -0
- package/bundles/{chunk-K2Z44JHH.js → chunk-WH4QSABR.js} +9 -9
- package/bundles/chunk-WH4QSABR.js.map +6 -0
- package/bundles/{chunk-SKBLJA43.js → chunk-ZCDB56AX.js} +7 -7
- package/bundles/chunk-ZCDB56AX.js.map +6 -0
- package/bundles/index.js +13 -13
- package/bundles/index.js.map +1 -1
- package/bundles/linker/babel/index.js +19 -19
- package/bundles/linker/babel/index.js.map +1 -1
- package/bundles/linker/index.js +5 -5
- package/bundles/ngcc/index.js +13 -13
- package/bundles/ngcc/index.js.map +1 -1
- package/bundles/ngcc/main-ngcc.js +14 -14
- package/bundles/ngcc/main-ngcc.js.map +1 -1
- package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js +14 -14
- package/bundles/ngcc/src/execution/cluster/ngcc_cluster_worker.js.map +1 -1
- package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js +5 -5
- package/bundles/ngcc/src/locking/lock_file_with_child_process/ngcc_lock_unlocker.js.map +1 -1
- package/bundles/private/bazel.js +2 -2
- package/bundles/private/localize.js +4 -4
- package/bundles/private/migrations.js +6 -6
- package/bundles/private/tooling.js +3 -3
- package/bundles/src/bin/ng_xi18n.js +11 -11
- package/bundles/src/bin/ng_xi18n.js.map +1 -1
- package/bundles/src/bin/ngc.js +9 -9
- package/bundles/src/bin/ngc.js.map +1 -1
- package/bundles_metadata.json +1 -1
- package/linker/babel/src/babel_core.d.ts +1 -0
- package/linker/babel/src/babel_declaration_scope.d.ts +1 -1
- package/linker/src/file_linker/emit_scopes/emit_scope.d.ts +7 -3
- package/linker/src/file_linker/emit_scopes/{iife_emit_scope.d.ts → local_emit_scope.d.ts} +7 -11
- package/linker/src/file_linker/partial_linkers/partial_class_metadata_linker_1.d.ts +3 -3
- package/linker/src/file_linker/partial_linkers/partial_component_linker_1.d.ts +3 -3
- package/linker/src/file_linker/partial_linkers/partial_directive_linker_1.d.ts +3 -3
- package/linker/src/file_linker/partial_linkers/partial_factory_linker_1.d.ts +3 -3
- package/linker/src/file_linker/partial_linkers/partial_injectable_linker_1.d.ts +3 -3
- package/linker/src/file_linker/partial_linkers/partial_injector_linker_1.d.ts +3 -3
- package/linker/src/file_linker/partial_linkers/partial_linker.d.ts +8 -1
- package/linker/src/file_linker/partial_linkers/partial_ng_module_linker_1.d.ts +4 -4
- package/linker/src/file_linker/partial_linkers/partial_pipe_linker_1.d.ts +3 -3
- package/ngcc/src/packages/build_marker.d.ts +1 -1
- package/package.json +6 -6
- package/private/babel.d.ts +42 -0
- package/src/ngtsc/annotations/common/index.d.ts +16 -0
- package/src/ngtsc/annotations/{src → common/src}/api.d.ts +1 -1
- package/src/ngtsc/annotations/common/src/di.d.ts +38 -0
- package/src/ngtsc/annotations/{src → common/src}/diagnostics.d.ts +15 -7
- package/src/ngtsc/annotations/common/src/evaluation.d.ts +18 -0
- package/src/ngtsc/annotations/{src → common/src}/factory.d.ts +2 -2
- package/src/ngtsc/annotations/{src → common/src}/metadata.d.ts +2 -2
- package/src/ngtsc/annotations/{src → common/src}/references_registry.d.ts +3 -3
- package/src/ngtsc/annotations/{src → common/src}/util.d.ts +7 -43
- package/src/ngtsc/annotations/component/index.d.ts +9 -0
- package/src/ngtsc/annotations/component/src/diagnostics.d.ts +20 -0
- package/src/ngtsc/annotations/component/src/handler.d.ts +92 -0
- package/src/ngtsc/annotations/component/src/metadata.d.ts +61 -0
- package/src/ngtsc/annotations/component/src/resources.d.ts +123 -0
- package/src/ngtsc/annotations/component/src/scope.d.ts +20 -0
- package/src/ngtsc/annotations/component/src/symbol.d.ts +20 -0
- package/src/ngtsc/annotations/component/src/util.d.ts +26 -0
- package/src/ngtsc/annotations/directive/index.d.ts +11 -0
- package/src/ngtsc/annotations/directive/src/handler.d.ts +59 -0
- package/src/ngtsc/annotations/directive/src/shared.d.ts +30 -0
- package/src/ngtsc/annotations/directive/src/symbol.d.ts +27 -0
- package/src/ngtsc/annotations/index.d.ts +4 -6
- package/src/ngtsc/annotations/ng_module/index.d.ts +9 -0
- package/src/ngtsc/annotations/{src/ng_module.d.ts → ng_module/src/handler.d.ts} +13 -11
- package/src/ngtsc/diagnostics/src/error_code.d.ts +23 -0
- package/src/ngtsc/metadata/src/api.d.ts +19 -0
- package/src/ngtsc/scope/index.d.ts +4 -3
- package/src/ngtsc/scope/src/api.d.ts +21 -5
- package/src/ngtsc/scope/src/component_scope.d.ts +1 -15
- package/src/ngtsc/scope/src/local.d.ts +4 -11
- package/src/ngtsc/scope/src/typecheck.d.ts +1 -1
- package/src/ngtsc/scope/src/util.d.ts +14 -0
- package/src/ngtsc/shims/api.d.ts +0 -1
- package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +1 -4
- package/src/ngtsc/tsc_plugin.d.ts +1 -1
- package/src/ngtsc/typecheck/api/checker.d.ts +6 -6
- package/src/ngtsc/typecheck/api/completion.d.ts +3 -3
- package/src/ngtsc/typecheck/api/symbols.d.ts +23 -16
- package/src/ngtsc/typecheck/src/checker.d.ts +5 -4
- package/src/ngtsc/typecheck/src/completion.d.ts +6 -5
- package/src/ngtsc/typecheck/src/diagnostics.d.ts +6 -5
- package/src/ngtsc/typecheck/src/template_symbol_builder.d.ts +4 -3
- package/src/ngtsc/util/src/typescript.d.ts +0 -5
- package/bundles/chunk-4KQK6VRA.js.map +0 -6
- package/bundles/chunk-7PY7XEFH.js.map +0 -6
- package/bundles/chunk-A5PL3TE6.js.map +0 -6
- package/bundles/chunk-ALKVYGAK.js.map +0 -6
- package/bundles/chunk-C44PYKVA.js.map +0 -6
- package/bundles/chunk-CKFLH7L7.js.map +0 -6
- package/bundles/chunk-FXU7FMZC.js.map +0 -6
- package/bundles/chunk-GLCRIILX.js.map +0 -6
- package/bundles/chunk-JMLPLN5C.js.map +0 -6
- package/bundles/chunk-K2Z44JHH.js.map +0 -6
- package/bundles/chunk-PKOZO2VO.js.map +0 -6
- package/bundles/chunk-QDWL7SZJ.js.map +0 -6
- package/bundles/chunk-SKBLJA43.js.map +0 -6
- package/bundles/chunk-XNYP2SFR.js.map +0 -6
- package/bundles/chunk-Z2HS4HDG.js.map +0 -6
- package/src/ngtsc/annotations/src/component.d.ts +0 -246
- package/src/ngtsc/annotations/src/directive.d.ts +0 -99
|
@@ -15,6 +15,8 @@ import {
|
|
|
15
15
|
InjectableClassRegistry,
|
|
16
16
|
InjectableDecoratorHandler,
|
|
17
17
|
LocalMetadataRegistry,
|
|
18
|
+
LocalModuleScopeRegistry,
|
|
19
|
+
MetadataDtsModuleScopeResolver,
|
|
18
20
|
NgModuleDecoratorHandler,
|
|
19
21
|
NoopReferencesRegistry,
|
|
20
22
|
PartialEvaluator,
|
|
@@ -25,20 +27,20 @@ import {
|
|
|
25
27
|
ShimReferenceTagger,
|
|
26
28
|
SummaryGenerator,
|
|
27
29
|
TraitCompiler,
|
|
30
|
+
TypeCheckScopeRegistry,
|
|
28
31
|
aliasTransformFactory,
|
|
29
32
|
copyFileShimData,
|
|
30
33
|
declarationTransformFactory,
|
|
31
|
-
flattenInheritedDirectiveMetadata,
|
|
32
34
|
generatedFactoryTransform,
|
|
33
35
|
isShim,
|
|
34
36
|
ivyTransformFactory,
|
|
35
37
|
retagAllTsFiles,
|
|
36
38
|
untagAllTsFiles
|
|
37
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-GMECRI4A.js";
|
|
38
40
|
import {
|
|
39
41
|
TypeScriptReflectionHost,
|
|
40
42
|
isNamedClassDeclaration
|
|
41
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-5K2JLFXT.js";
|
|
42
44
|
import {
|
|
43
45
|
AbsoluteModuleStrategy,
|
|
44
46
|
AliasStrategy,
|
|
@@ -64,7 +66,6 @@ import {
|
|
|
64
66
|
getRootDirs,
|
|
65
67
|
getSourceFileOrNull,
|
|
66
68
|
getTokenAtPosition,
|
|
67
|
-
identifierOfNode,
|
|
68
69
|
isAssignment,
|
|
69
70
|
isDtsPath,
|
|
70
71
|
isNonDeclarationTsPath,
|
|
@@ -72,14 +73,13 @@ import {
|
|
|
72
73
|
makeDiagnostic,
|
|
73
74
|
makeRelatedInformation,
|
|
74
75
|
ngErrorCode,
|
|
75
|
-
nodeNameForError,
|
|
76
76
|
normalizeSeparators,
|
|
77
77
|
relativePathBetween,
|
|
78
78
|
replaceTsWithNgInErrors,
|
|
79
79
|
toUnredirectedSourceFile,
|
|
80
80
|
translateExpression,
|
|
81
81
|
translateType
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-6356XFP6.js";
|
|
83
83
|
import {
|
|
84
84
|
LogicalFileSystem,
|
|
85
85
|
absoluteFrom,
|
|
@@ -89,20 +89,20 @@ import {
|
|
|
89
89
|
getSourceFileOrError,
|
|
90
90
|
join,
|
|
91
91
|
resolve
|
|
92
|
-
} from "./chunk-
|
|
92
|
+
} from "./chunk-TD64C4QJ.js";
|
|
93
93
|
import {
|
|
94
94
|
ActivePerfRecorder,
|
|
95
95
|
DelegatingPerfRecorder,
|
|
96
96
|
PerfCheckpoint,
|
|
97
97
|
PerfEvent,
|
|
98
98
|
PerfPhase
|
|
99
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-LC26KH5A.js";
|
|
100
100
|
import {
|
|
101
101
|
__spreadProps,
|
|
102
102
|
__spreadValues
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-GMSUYBZP.js";
|
|
104
104
|
|
|
105
|
-
// bazel-out/
|
|
105
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/api.mjs
|
|
106
106
|
var DEFAULT_ERROR_CODE = 100;
|
|
107
107
|
var UNKNOWN_ERROR_CODE = 500;
|
|
108
108
|
var SOURCE = "angular";
|
|
@@ -120,7 +120,7 @@ var EmitFlags;
|
|
|
120
120
|
EmitFlags2[EmitFlags2["All"] = 31] = "All";
|
|
121
121
|
})(EmitFlags || (EmitFlags = {}));
|
|
122
122
|
|
|
123
|
-
// bazel-out/
|
|
123
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/compiler_host.mjs
|
|
124
124
|
import ts from "typescript";
|
|
125
125
|
var wrapHostForTest = null;
|
|
126
126
|
function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, true) }) {
|
|
@@ -130,21 +130,21 @@ function createCompilerHost({ options, tsHost = ts.createCompilerHost(options, t
|
|
|
130
130
|
return tsHost;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
// bazel-out/
|
|
133
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/checker.mjs
|
|
134
134
|
var OptimizeFor;
|
|
135
135
|
(function(OptimizeFor2) {
|
|
136
136
|
OptimizeFor2[OptimizeFor2["SingleFile"] = 0] = "SingleFile";
|
|
137
137
|
OptimizeFor2[OptimizeFor2["WholeProgram"] = 1] = "WholeProgram";
|
|
138
138
|
})(OptimizeFor || (OptimizeFor = {}));
|
|
139
139
|
|
|
140
|
-
// bazel-out/
|
|
140
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/completion.mjs
|
|
141
141
|
var CompletionKind;
|
|
142
142
|
(function(CompletionKind2) {
|
|
143
143
|
CompletionKind2[CompletionKind2["Reference"] = 0] = "Reference";
|
|
144
144
|
CompletionKind2[CompletionKind2["Variable"] = 1] = "Variable";
|
|
145
145
|
})(CompletionKind || (CompletionKind = {}));
|
|
146
146
|
|
|
147
|
-
// bazel-out/
|
|
147
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/api/symbols.mjs
|
|
148
148
|
var SymbolKind;
|
|
149
149
|
(function(SymbolKind2) {
|
|
150
150
|
SymbolKind2[SymbolKind2["Input"] = 0] = "Input";
|
|
@@ -160,11 +160,11 @@ var SymbolKind;
|
|
|
160
160
|
SymbolKind2[SymbolKind2["Pipe"] = 10] = "Pipe";
|
|
161
161
|
})(SymbolKind || (SymbolKind = {}));
|
|
162
162
|
|
|
163
|
-
// bazel-out/
|
|
163
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
|
|
164
164
|
import { HtmlParser, MessageBundle } from "@angular/compiler";
|
|
165
|
-
import
|
|
165
|
+
import ts30 from "typescript";
|
|
166
166
|
|
|
167
|
-
// bazel-out/
|
|
167
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/i18n.mjs
|
|
168
168
|
import { Xliff, Xliff2, Xmb } from "@angular/compiler";
|
|
169
169
|
import * as path from "path";
|
|
170
170
|
function i18nGetExtension(formatName) {
|
|
@@ -215,10 +215,10 @@ function getPathNormalizer(basePath) {
|
|
|
215
215
|
};
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
-
// bazel-out/
|
|
218
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
|
|
219
219
|
import ts2 from "typescript";
|
|
220
220
|
|
|
221
|
-
// bazel-out/
|
|
221
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/version_helpers.mjs
|
|
222
222
|
function toNumbers(value) {
|
|
223
223
|
const suffixIndex = value.lastIndexOf("-");
|
|
224
224
|
return value.slice(0, suffixIndex === -1 ? value.length : suffixIndex).split(".").map((segment) => {
|
|
@@ -253,9 +253,9 @@ function compareVersions(v1, v2) {
|
|
|
253
253
|
return compareNumbers(toNumbers(v1), toNumbers(v2));
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
-
// bazel-out/
|
|
257
|
-
var MIN_TS_VERSION = "4.
|
|
258
|
-
var MAX_TS_VERSION = "4.
|
|
256
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/typescript_support.mjs
|
|
257
|
+
var MIN_TS_VERSION = "4.6.2";
|
|
258
|
+
var MAX_TS_VERSION = "4.7.0";
|
|
259
259
|
var tsVersion = ts2.version;
|
|
260
260
|
function checkVersion(version, minVersion, maxVersion) {
|
|
261
261
|
if (compareVersions(version, minVersion) < 0 || compareVersions(version, maxVersion) >= 0) {
|
|
@@ -266,10 +266,10 @@ function verifySupportedTypeScriptVersion() {
|
|
|
266
266
|
checkVersion(tsVersion, MIN_TS_VERSION, MAX_TS_VERSION);
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
-
// bazel-out/
|
|
270
|
-
import
|
|
269
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
|
|
270
|
+
import ts28 from "typescript";
|
|
271
271
|
|
|
272
|
-
// bazel-out/
|
|
272
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/analyzer.mjs
|
|
273
273
|
var CycleAnalyzer = class {
|
|
274
274
|
constructor(importGraph) {
|
|
275
275
|
this.importGraph = importGraph;
|
|
@@ -340,7 +340,7 @@ var Cycle = class {
|
|
|
340
340
|
}
|
|
341
341
|
};
|
|
342
342
|
|
|
343
|
-
// bazel-out/
|
|
343
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/cycles/src/imports.mjs
|
|
344
344
|
import ts3 from "typescript";
|
|
345
345
|
var ImportGraph = class {
|
|
346
346
|
constructor(checker, perf) {
|
|
@@ -432,7 +432,7 @@ var Found = class {
|
|
|
432
432
|
}
|
|
433
433
|
};
|
|
434
434
|
|
|
435
|
-
// bazel-out/
|
|
435
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/generator.mjs
|
|
436
436
|
import ts4 from "typescript";
|
|
437
437
|
var FlatIndexGenerator = class {
|
|
438
438
|
constructor(entryPoint, relativeFlatIndexPath, moduleName) {
|
|
@@ -457,7 +457,7 @@ export * from '${relativeEntryPoint}';
|
|
|
457
457
|
}
|
|
458
458
|
};
|
|
459
459
|
|
|
460
|
-
// bazel-out/
|
|
460
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/logic.mjs
|
|
461
461
|
function findFlatIndexEntryPoint(rootFiles) {
|
|
462
462
|
const tsFiles = rootFiles.filter((file) => isNonDeclarationTsPath(file));
|
|
463
463
|
let resolvedEntryPoint = null;
|
|
@@ -473,7 +473,7 @@ function findFlatIndexEntryPoint(rootFiles) {
|
|
|
473
473
|
return resolvedEntryPoint;
|
|
474
474
|
}
|
|
475
475
|
|
|
476
|
-
// bazel-out/
|
|
476
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/private_export_checker.mjs
|
|
477
477
|
import ts5 from "typescript";
|
|
478
478
|
function checkForPrivateExports(entryPoint, checker, refGraph) {
|
|
479
479
|
const diagnostics = [];
|
|
@@ -553,7 +553,7 @@ function getDescriptorOfDeclaration(decl) {
|
|
|
553
553
|
}
|
|
554
554
|
}
|
|
555
555
|
|
|
556
|
-
// bazel-out/
|
|
556
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/entry_point/src/reference_graph.mjs
|
|
557
557
|
var ReferenceGraph = class {
|
|
558
558
|
constructor() {
|
|
559
559
|
this.references = /* @__PURE__ */ new Map();
|
|
@@ -607,7 +607,7 @@ var ReferenceGraph = class {
|
|
|
607
607
|
}
|
|
608
608
|
};
|
|
609
609
|
|
|
610
|
-
// bazel-out/
|
|
610
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/api.mjs
|
|
611
611
|
var NgOriginalFile = Symbol("NgOriginalFile");
|
|
612
612
|
var UpdateMode;
|
|
613
613
|
(function(UpdateMode2) {
|
|
@@ -615,7 +615,7 @@ var UpdateMode;
|
|
|
615
615
|
UpdateMode2[UpdateMode2["Incremental"] = 1] = "Incremental";
|
|
616
616
|
})(UpdateMode || (UpdateMode = {}));
|
|
617
617
|
|
|
618
|
-
// bazel-out/
|
|
618
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program_driver/src/ts_create_program_driver.mjs
|
|
619
619
|
import ts6 from "typescript";
|
|
620
620
|
var DelegatingCompilerHost = class {
|
|
621
621
|
constructor(delegate) {
|
|
@@ -726,7 +726,7 @@ var TsCreateProgramDriver = class {
|
|
|
726
726
|
}
|
|
727
727
|
};
|
|
728
728
|
|
|
729
|
-
// bazel-out/
|
|
729
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/dependency_tracking.mjs
|
|
730
730
|
var FileDependencyGraph = class {
|
|
731
731
|
constructor() {
|
|
732
732
|
this.nodes = /* @__PURE__ */ new Map();
|
|
@@ -793,7 +793,7 @@ function isLogicallyChanged(sf, node, changedTsPaths, deletedTsPaths, changedRes
|
|
|
793
793
|
return false;
|
|
794
794
|
}
|
|
795
795
|
|
|
796
|
-
// bazel-out/
|
|
796
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/state.mjs
|
|
797
797
|
var IncrementalStateKind;
|
|
798
798
|
(function(IncrementalStateKind2) {
|
|
799
799
|
IncrementalStateKind2[IncrementalStateKind2["Fresh"] = 0] = "Fresh";
|
|
@@ -801,7 +801,7 @@ var IncrementalStateKind;
|
|
|
801
801
|
IncrementalStateKind2[IncrementalStateKind2["Analyzed"] = 2] = "Analyzed";
|
|
802
802
|
})(IncrementalStateKind || (IncrementalStateKind = {}));
|
|
803
803
|
|
|
804
|
-
// bazel-out/
|
|
804
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/incremental.mjs
|
|
805
805
|
var PhaseKind;
|
|
806
806
|
(function(PhaseKind2) {
|
|
807
807
|
PhaseKind2[PhaseKind2["Analysis"] = 0] = "Analysis";
|
|
@@ -1002,7 +1002,7 @@ function toOriginalSourceFile(sf) {
|
|
|
1002
1002
|
}
|
|
1003
1003
|
}
|
|
1004
1004
|
|
|
1005
|
-
// bazel-out/
|
|
1005
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/incremental/src/strategy.mjs
|
|
1006
1006
|
var TrackedIncrementalBuildStrategy = class {
|
|
1007
1007
|
constructor() {
|
|
1008
1008
|
this.state = null;
|
|
@@ -1038,7 +1038,7 @@ var PatchedProgramIncrementalBuildStrategy = class {
|
|
|
1038
1038
|
};
|
|
1039
1039
|
var SYM_INCREMENTAL_STATE = Symbol("NgIncrementalState");
|
|
1040
1040
|
|
|
1041
|
-
// bazel-out/
|
|
1041
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/api.mjs
|
|
1042
1042
|
var IdentifierKind;
|
|
1043
1043
|
(function(IdentifierKind2) {
|
|
1044
1044
|
IdentifierKind2[IdentifierKind2["Property"] = 0] = "Property";
|
|
@@ -1056,7 +1056,7 @@ var AbsoluteSourceSpan = class {
|
|
|
1056
1056
|
}
|
|
1057
1057
|
};
|
|
1058
1058
|
|
|
1059
|
-
// bazel-out/
|
|
1059
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/context.mjs
|
|
1060
1060
|
var IndexingContext = class {
|
|
1061
1061
|
constructor() {
|
|
1062
1062
|
this.components = /* @__PURE__ */ new Set();
|
|
@@ -1066,10 +1066,10 @@ var IndexingContext = class {
|
|
|
1066
1066
|
}
|
|
1067
1067
|
};
|
|
1068
1068
|
|
|
1069
|
-
// bazel-out/
|
|
1069
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
|
|
1070
1070
|
import { ParseSourceFile } from "@angular/compiler";
|
|
1071
1071
|
|
|
1072
|
-
// bazel-out/
|
|
1072
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/template.mjs
|
|
1073
1073
|
import { ASTWithSource, ImplicitReceiver, PropertyRead, PropertyWrite, RecursiveAstVisitor, TmplAstElement, TmplAstRecursiveVisitor, TmplAstReference, TmplAstTemplate } from "@angular/compiler";
|
|
1074
1074
|
var ExpressionVisitor = class extends RecursiveAstVisitor {
|
|
1075
1075
|
constructor(expressionStr, absoluteOffset, boundTemplate, targetToIdentifier) {
|
|
@@ -1306,7 +1306,7 @@ function getTemplateIdentifiers(boundTemplate) {
|
|
|
1306
1306
|
return { identifiers: visitor.identifiers, errors: visitor.errors };
|
|
1307
1307
|
}
|
|
1308
1308
|
|
|
1309
|
-
// bazel-out/
|
|
1309
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/indexer/src/transform.mjs
|
|
1310
1310
|
function generateAnalysis(context) {
|
|
1311
1311
|
const analysis = /* @__PURE__ */ new Map();
|
|
1312
1312
|
context.components.forEach(({ declaration, selector, boundTemplate, templateMeta }) => {
|
|
@@ -1342,7 +1342,7 @@ function generateAnalysis(context) {
|
|
|
1342
1342
|
return analysis;
|
|
1343
1343
|
}
|
|
1344
1344
|
|
|
1345
|
-
// bazel-out/
|
|
1345
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/resource/src/loader.mjs
|
|
1346
1346
|
import ts7 from "typescript";
|
|
1347
1347
|
var CSS_PREPROCESSOR_EXT = /(\.scss|\.sass|\.less|\.styl)$/;
|
|
1348
1348
|
var RESOURCE_MARKER = ".$ngresource$";
|
|
@@ -1488,468 +1488,11 @@ function createLookupResolutionHost(adapter) {
|
|
|
1488
1488
|
};
|
|
1489
1489
|
}
|
|
1490
1490
|
|
|
1491
|
-
// bazel-out/
|
|
1492
|
-
|
|
1493
|
-
constructor(dtsMetaReader, aliasingHost) {
|
|
1494
|
-
this.dtsMetaReader = dtsMetaReader;
|
|
1495
|
-
this.aliasingHost = aliasingHost;
|
|
1496
|
-
this.cache = /* @__PURE__ */ new Map();
|
|
1497
|
-
}
|
|
1498
|
-
resolve(ref) {
|
|
1499
|
-
const clazz = ref.node;
|
|
1500
|
-
const sourceFile = clazz.getSourceFile();
|
|
1501
|
-
if (!sourceFile.isDeclarationFile) {
|
|
1502
|
-
throw new Error(`Debug error: DtsModuleScopeResolver.read(${ref.debugName} from ${sourceFile.fileName}), but not a .d.ts file`);
|
|
1503
|
-
}
|
|
1504
|
-
if (this.cache.has(clazz)) {
|
|
1505
|
-
return this.cache.get(clazz);
|
|
1506
|
-
}
|
|
1507
|
-
const directives = [];
|
|
1508
|
-
const pipes = [];
|
|
1509
|
-
const ngModules = /* @__PURE__ */ new Set([clazz]);
|
|
1510
|
-
const meta = this.dtsMetaReader.getNgModuleMetadata(ref);
|
|
1511
|
-
if (meta === null) {
|
|
1512
|
-
this.cache.set(clazz, null);
|
|
1513
|
-
return null;
|
|
1514
|
-
}
|
|
1515
|
-
const declarations = /* @__PURE__ */ new Set();
|
|
1516
|
-
for (const declRef of meta.declarations) {
|
|
1517
|
-
declarations.add(declRef.node);
|
|
1518
|
-
}
|
|
1519
|
-
for (const exportRef of meta.exports) {
|
|
1520
|
-
const directive = this.dtsMetaReader.getDirectiveMetadata(exportRef);
|
|
1521
|
-
if (directive !== null) {
|
|
1522
|
-
const isReExport = !declarations.has(exportRef.node);
|
|
1523
|
-
directives.push(this.maybeAlias(directive, sourceFile, isReExport));
|
|
1524
|
-
continue;
|
|
1525
|
-
}
|
|
1526
|
-
const pipe = this.dtsMetaReader.getPipeMetadata(exportRef);
|
|
1527
|
-
if (pipe !== null) {
|
|
1528
|
-
const isReExport = !declarations.has(exportRef.node);
|
|
1529
|
-
pipes.push(this.maybeAlias(pipe, sourceFile, isReExport));
|
|
1530
|
-
continue;
|
|
1531
|
-
}
|
|
1532
|
-
const exportScope2 = this.resolve(exportRef);
|
|
1533
|
-
if (exportScope2 !== null) {
|
|
1534
|
-
if (this.aliasingHost === null) {
|
|
1535
|
-
directives.push(...exportScope2.exported.directives);
|
|
1536
|
-
pipes.push(...exportScope2.exported.pipes);
|
|
1537
|
-
} else {
|
|
1538
|
-
for (const directive2 of exportScope2.exported.directives) {
|
|
1539
|
-
directives.push(this.maybeAlias(directive2, sourceFile, true));
|
|
1540
|
-
}
|
|
1541
|
-
for (const pipe2 of exportScope2.exported.pipes) {
|
|
1542
|
-
pipes.push(this.maybeAlias(pipe2, sourceFile, true));
|
|
1543
|
-
}
|
|
1544
|
-
for (const ngModule of exportScope2.exported.ngModules) {
|
|
1545
|
-
ngModules.add(ngModule);
|
|
1546
|
-
}
|
|
1547
|
-
}
|
|
1548
|
-
}
|
|
1549
|
-
continue;
|
|
1550
|
-
}
|
|
1551
|
-
const exportScope = {
|
|
1552
|
-
exported: {
|
|
1553
|
-
directives,
|
|
1554
|
-
pipes,
|
|
1555
|
-
ngModules: Array.from(ngModules),
|
|
1556
|
-
isPoisoned: false
|
|
1557
|
-
}
|
|
1558
|
-
};
|
|
1559
|
-
this.cache.set(clazz, exportScope);
|
|
1560
|
-
return exportScope;
|
|
1561
|
-
}
|
|
1562
|
-
maybeAlias(dirOrPipe, maybeAliasFrom, isReExport) {
|
|
1563
|
-
const ref = dirOrPipe.ref;
|
|
1564
|
-
if (this.aliasingHost === null || ref.node.getSourceFile() === maybeAliasFrom) {
|
|
1565
|
-
return dirOrPipe;
|
|
1566
|
-
}
|
|
1567
|
-
const alias = this.aliasingHost.getAliasIn(ref.node, maybeAliasFrom, isReExport);
|
|
1568
|
-
if (alias === null) {
|
|
1569
|
-
return dirOrPipe;
|
|
1570
|
-
}
|
|
1571
|
-
return __spreadProps(__spreadValues({}, dirOrPipe), {
|
|
1572
|
-
ref: ref.cloneWithAlias(alias)
|
|
1573
|
-
});
|
|
1574
|
-
}
|
|
1575
|
-
};
|
|
1491
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
|
|
1492
|
+
import { CssSelector, DomElementSchemaRegistry as DomElementSchemaRegistry2 } from "@angular/compiler";
|
|
1576
1493
|
|
|
1577
|
-
// bazel-out/
|
|
1578
|
-
import { ExternalExpr } from "@angular/compiler";
|
|
1494
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
|
|
1579
1495
|
import ts8 from "typescript";
|
|
1580
|
-
var LocalModuleScopeRegistry = class {
|
|
1581
|
-
constructor(localReader, dependencyScopeReader, refEmitter, aliasingHost) {
|
|
1582
|
-
this.localReader = localReader;
|
|
1583
|
-
this.dependencyScopeReader = dependencyScopeReader;
|
|
1584
|
-
this.refEmitter = refEmitter;
|
|
1585
|
-
this.aliasingHost = aliasingHost;
|
|
1586
|
-
this.sealed = false;
|
|
1587
|
-
this.declarationToModule = /* @__PURE__ */ new Map();
|
|
1588
|
-
this.duplicateDeclarations = /* @__PURE__ */ new Map();
|
|
1589
|
-
this.moduleToRef = /* @__PURE__ */ new Map();
|
|
1590
|
-
this.cache = /* @__PURE__ */ new Map();
|
|
1591
|
-
this.remoteScoping = /* @__PURE__ */ new Map();
|
|
1592
|
-
this.scopeErrors = /* @__PURE__ */ new Map();
|
|
1593
|
-
this.modulesWithStructuralErrors = /* @__PURE__ */ new Set();
|
|
1594
|
-
}
|
|
1595
|
-
registerNgModuleMetadata(data) {
|
|
1596
|
-
this.assertCollecting();
|
|
1597
|
-
const ngModule = data.ref.node;
|
|
1598
|
-
this.moduleToRef.set(data.ref.node, data.ref);
|
|
1599
|
-
for (const decl of data.declarations) {
|
|
1600
|
-
this.registerDeclarationOfModule(ngModule, decl, data.rawDeclarations);
|
|
1601
|
-
}
|
|
1602
|
-
}
|
|
1603
|
-
registerDirectiveMetadata(directive) {
|
|
1604
|
-
}
|
|
1605
|
-
registerPipeMetadata(pipe) {
|
|
1606
|
-
}
|
|
1607
|
-
getScopeForComponent(clazz) {
|
|
1608
|
-
const scope = !this.declarationToModule.has(clazz) ? null : this.getScopeOfModule(this.declarationToModule.get(clazz).ngModule);
|
|
1609
|
-
return scope;
|
|
1610
|
-
}
|
|
1611
|
-
getDuplicateDeclarations(node) {
|
|
1612
|
-
if (!this.duplicateDeclarations.has(node)) {
|
|
1613
|
-
return null;
|
|
1614
|
-
}
|
|
1615
|
-
return Array.from(this.duplicateDeclarations.get(node).values());
|
|
1616
|
-
}
|
|
1617
|
-
getScopeOfModule(clazz) {
|
|
1618
|
-
return this.moduleToRef.has(clazz) ? this.getScopeOfModuleReference(this.moduleToRef.get(clazz)) : null;
|
|
1619
|
-
}
|
|
1620
|
-
getDiagnosticsOfModule(clazz) {
|
|
1621
|
-
this.getScopeOfModule(clazz);
|
|
1622
|
-
if (this.scopeErrors.has(clazz)) {
|
|
1623
|
-
return this.scopeErrors.get(clazz);
|
|
1624
|
-
} else {
|
|
1625
|
-
return null;
|
|
1626
|
-
}
|
|
1627
|
-
}
|
|
1628
|
-
registerDeclarationOfModule(ngModule, decl, rawDeclarations) {
|
|
1629
|
-
const declData = {
|
|
1630
|
-
ngModule,
|
|
1631
|
-
ref: decl,
|
|
1632
|
-
rawDeclarations
|
|
1633
|
-
};
|
|
1634
|
-
if (this.duplicateDeclarations.has(decl.node)) {
|
|
1635
|
-
this.duplicateDeclarations.get(decl.node).set(ngModule, declData);
|
|
1636
|
-
} else if (this.declarationToModule.has(decl.node) && this.declarationToModule.get(decl.node).ngModule !== ngModule) {
|
|
1637
|
-
const duplicateDeclMap = /* @__PURE__ */ new Map();
|
|
1638
|
-
const firstDeclData = this.declarationToModule.get(decl.node);
|
|
1639
|
-
this.modulesWithStructuralErrors.add(firstDeclData.ngModule);
|
|
1640
|
-
this.modulesWithStructuralErrors.add(ngModule);
|
|
1641
|
-
duplicateDeclMap.set(firstDeclData.ngModule, firstDeclData);
|
|
1642
|
-
duplicateDeclMap.set(ngModule, declData);
|
|
1643
|
-
this.duplicateDeclarations.set(decl.node, duplicateDeclMap);
|
|
1644
|
-
this.declarationToModule.delete(decl.node);
|
|
1645
|
-
} else {
|
|
1646
|
-
this.declarationToModule.set(decl.node, declData);
|
|
1647
|
-
}
|
|
1648
|
-
}
|
|
1649
|
-
getScopeOfModuleReference(ref) {
|
|
1650
|
-
if (this.cache.has(ref.node)) {
|
|
1651
|
-
return this.cache.get(ref.node);
|
|
1652
|
-
}
|
|
1653
|
-
this.sealed = true;
|
|
1654
|
-
const ngModule = this.localReader.getNgModuleMetadata(ref);
|
|
1655
|
-
if (ngModule === null) {
|
|
1656
|
-
this.cache.set(ref.node, null);
|
|
1657
|
-
return null;
|
|
1658
|
-
}
|
|
1659
|
-
const compilationModules = /* @__PURE__ */ new Set([ngModule.ref.node]);
|
|
1660
|
-
const exportedModules = /* @__PURE__ */ new Set([ngModule.ref.node]);
|
|
1661
|
-
const diagnostics = [];
|
|
1662
|
-
const compilationDirectives = /* @__PURE__ */ new Map();
|
|
1663
|
-
const compilationPipes = /* @__PURE__ */ new Map();
|
|
1664
|
-
const declared = /* @__PURE__ */ new Set();
|
|
1665
|
-
const exportDirectives = /* @__PURE__ */ new Map();
|
|
1666
|
-
const exportPipes = /* @__PURE__ */ new Map();
|
|
1667
|
-
let isPoisoned = false;
|
|
1668
|
-
if (this.modulesWithStructuralErrors.has(ngModule.ref.node)) {
|
|
1669
|
-
isPoisoned = true;
|
|
1670
|
-
}
|
|
1671
|
-
for (const decl of ngModule.imports) {
|
|
1672
|
-
const importScope = this.getExportedScope(decl, diagnostics, ref.node, "import");
|
|
1673
|
-
if (importScope === null) {
|
|
1674
|
-
diagnostics.push(invalidRef(ref.node, decl, "import"));
|
|
1675
|
-
isPoisoned = true;
|
|
1676
|
-
continue;
|
|
1677
|
-
} else if (importScope === "invalid" || importScope.exported.isPoisoned) {
|
|
1678
|
-
diagnostics.push(invalidTransitiveNgModuleRef(ref.node, decl, "import"));
|
|
1679
|
-
isPoisoned = true;
|
|
1680
|
-
if (importScope === "invalid") {
|
|
1681
|
-
continue;
|
|
1682
|
-
}
|
|
1683
|
-
}
|
|
1684
|
-
for (const directive of importScope.exported.directives) {
|
|
1685
|
-
compilationDirectives.set(directive.ref.node, directive);
|
|
1686
|
-
}
|
|
1687
|
-
for (const pipe of importScope.exported.pipes) {
|
|
1688
|
-
compilationPipes.set(pipe.ref.node, pipe);
|
|
1689
|
-
}
|
|
1690
|
-
for (const importedModule of importScope.exported.ngModules) {
|
|
1691
|
-
compilationModules.add(importedModule);
|
|
1692
|
-
}
|
|
1693
|
-
}
|
|
1694
|
-
for (const decl of ngModule.declarations) {
|
|
1695
|
-
const directive = this.localReader.getDirectiveMetadata(decl);
|
|
1696
|
-
const pipe = this.localReader.getPipeMetadata(decl);
|
|
1697
|
-
if (directive !== null) {
|
|
1698
|
-
compilationDirectives.set(decl.node, __spreadProps(__spreadValues({}, directive), { ref: decl }));
|
|
1699
|
-
if (directive.isPoisoned) {
|
|
1700
|
-
isPoisoned = true;
|
|
1701
|
-
}
|
|
1702
|
-
} else if (pipe !== null) {
|
|
1703
|
-
compilationPipes.set(decl.node, __spreadProps(__spreadValues({}, pipe), { ref: decl }));
|
|
1704
|
-
} else {
|
|
1705
|
-
const errorNode = decl.getOriginForDiagnostics(ngModule.rawDeclarations);
|
|
1706
|
-
diagnostics.push(makeDiagnostic(ErrorCode.NGMODULE_INVALID_DECLARATION, errorNode, `The class '${decl.node.name.text}' is listed in the declarations of the NgModule '${ngModule.ref.node.name.text}', but is not a directive, a component, or a pipe. Either remove it from the NgModule's declarations, or add an appropriate Angular decorator.`, [makeRelatedInformation(decl.node.name, `'${decl.node.name.text}' is declared here.`)]));
|
|
1707
|
-
isPoisoned = true;
|
|
1708
|
-
continue;
|
|
1709
|
-
}
|
|
1710
|
-
declared.add(decl.node);
|
|
1711
|
-
}
|
|
1712
|
-
for (const decl of ngModule.exports) {
|
|
1713
|
-
const exportScope = this.getExportedScope(decl, diagnostics, ref.node, "export");
|
|
1714
|
-
if (exportScope === "invalid" || exportScope !== null && exportScope.exported.isPoisoned) {
|
|
1715
|
-
diagnostics.push(invalidTransitiveNgModuleRef(ref.node, decl, "export"));
|
|
1716
|
-
isPoisoned = true;
|
|
1717
|
-
if (exportScope === "invalid") {
|
|
1718
|
-
continue;
|
|
1719
|
-
}
|
|
1720
|
-
} else if (exportScope !== null) {
|
|
1721
|
-
for (const directive of exportScope.exported.directives) {
|
|
1722
|
-
exportDirectives.set(directive.ref.node, directive);
|
|
1723
|
-
}
|
|
1724
|
-
for (const pipe of exportScope.exported.pipes) {
|
|
1725
|
-
exportPipes.set(pipe.ref.node, pipe);
|
|
1726
|
-
}
|
|
1727
|
-
for (const exportedModule of exportScope.exported.ngModules) {
|
|
1728
|
-
exportedModules.add(exportedModule);
|
|
1729
|
-
}
|
|
1730
|
-
} else if (compilationDirectives.has(decl.node)) {
|
|
1731
|
-
const directive = compilationDirectives.get(decl.node);
|
|
1732
|
-
exportDirectives.set(decl.node, directive);
|
|
1733
|
-
} else if (compilationPipes.has(decl.node)) {
|
|
1734
|
-
const pipe = compilationPipes.get(decl.node);
|
|
1735
|
-
exportPipes.set(decl.node, pipe);
|
|
1736
|
-
} else {
|
|
1737
|
-
if (this.localReader.getDirectiveMetadata(decl) !== null || this.localReader.getPipeMetadata(decl) !== null) {
|
|
1738
|
-
diagnostics.push(invalidReexport(ref.node, decl));
|
|
1739
|
-
} else {
|
|
1740
|
-
diagnostics.push(invalidRef(ref.node, decl, "export"));
|
|
1741
|
-
}
|
|
1742
|
-
isPoisoned = true;
|
|
1743
|
-
continue;
|
|
1744
|
-
}
|
|
1745
|
-
}
|
|
1746
|
-
const exported = {
|
|
1747
|
-
directives: Array.from(exportDirectives.values()),
|
|
1748
|
-
pipes: Array.from(exportPipes.values()),
|
|
1749
|
-
ngModules: Array.from(exportedModules),
|
|
1750
|
-
isPoisoned
|
|
1751
|
-
};
|
|
1752
|
-
const reexports = this.getReexports(ngModule, ref, declared, exported, diagnostics);
|
|
1753
|
-
const scope = {
|
|
1754
|
-
ngModule: ngModule.ref.node,
|
|
1755
|
-
compilation: {
|
|
1756
|
-
directives: Array.from(compilationDirectives.values()),
|
|
1757
|
-
pipes: Array.from(compilationPipes.values()),
|
|
1758
|
-
ngModules: Array.from(compilationModules),
|
|
1759
|
-
isPoisoned
|
|
1760
|
-
},
|
|
1761
|
-
exported,
|
|
1762
|
-
reexports,
|
|
1763
|
-
schemas: ngModule.schemas
|
|
1764
|
-
};
|
|
1765
|
-
if (diagnostics.length > 0) {
|
|
1766
|
-
this.scopeErrors.set(ref.node, diagnostics);
|
|
1767
|
-
this.modulesWithStructuralErrors.add(ref.node);
|
|
1768
|
-
}
|
|
1769
|
-
this.cache.set(ref.node, scope);
|
|
1770
|
-
return scope;
|
|
1771
|
-
}
|
|
1772
|
-
getRemoteScope(node) {
|
|
1773
|
-
return this.remoteScoping.has(node) ? this.remoteScoping.get(node) : null;
|
|
1774
|
-
}
|
|
1775
|
-
setComponentRemoteScope(node, directives, pipes) {
|
|
1776
|
-
this.remoteScoping.set(node, { directives, pipes });
|
|
1777
|
-
}
|
|
1778
|
-
getExportedScope(ref, diagnostics, ownerForErrors, type) {
|
|
1779
|
-
if (ref.node.getSourceFile().isDeclarationFile) {
|
|
1780
|
-
if (!ts8.isClassDeclaration(ref.node)) {
|
|
1781
|
-
const code = type === "import" ? ErrorCode.NGMODULE_INVALID_IMPORT : ErrorCode.NGMODULE_INVALID_EXPORT;
|
|
1782
|
-
diagnostics.push(makeDiagnostic(code, identifierOfNode(ref.node) || ref.node, `Appears in the NgModule.${type}s of ${nodeNameForError(ownerForErrors)}, but could not be resolved to an NgModule`));
|
|
1783
|
-
return "invalid";
|
|
1784
|
-
}
|
|
1785
|
-
return this.dependencyScopeReader.resolve(ref);
|
|
1786
|
-
} else {
|
|
1787
|
-
return this.getScopeOfModuleReference(ref);
|
|
1788
|
-
}
|
|
1789
|
-
}
|
|
1790
|
-
getReexports(ngModule, ref, declared, exported, diagnostics) {
|
|
1791
|
-
let reexports = null;
|
|
1792
|
-
const sourceFile = ref.node.getSourceFile();
|
|
1793
|
-
if (this.aliasingHost === null) {
|
|
1794
|
-
return null;
|
|
1795
|
-
}
|
|
1796
|
-
reexports = [];
|
|
1797
|
-
const reexportMap = /* @__PURE__ */ new Map();
|
|
1798
|
-
const ngModuleRef = ref;
|
|
1799
|
-
const addReexport = (exportRef) => {
|
|
1800
|
-
if (exportRef.node.getSourceFile() === sourceFile) {
|
|
1801
|
-
return;
|
|
1802
|
-
}
|
|
1803
|
-
const isReExport = !declared.has(exportRef.node);
|
|
1804
|
-
const exportName = this.aliasingHost.maybeAliasSymbolAs(exportRef, sourceFile, ngModule.ref.node.name.text, isReExport);
|
|
1805
|
-
if (exportName === null) {
|
|
1806
|
-
return;
|
|
1807
|
-
}
|
|
1808
|
-
if (!reexportMap.has(exportName)) {
|
|
1809
|
-
if (exportRef.alias && exportRef.alias instanceof ExternalExpr) {
|
|
1810
|
-
reexports.push({
|
|
1811
|
-
fromModule: exportRef.alias.value.moduleName,
|
|
1812
|
-
symbolName: exportRef.alias.value.name,
|
|
1813
|
-
asAlias: exportName
|
|
1814
|
-
});
|
|
1815
|
-
} else {
|
|
1816
|
-
const emittedRef = this.refEmitter.emit(exportRef.cloneWithNoIdentifiers(), sourceFile);
|
|
1817
|
-
assertSuccessfulReferenceEmit(emittedRef, ngModuleRef.node.name, "class");
|
|
1818
|
-
const expr = emittedRef.expression;
|
|
1819
|
-
if (!(expr instanceof ExternalExpr) || expr.value.moduleName === null || expr.value.name === null) {
|
|
1820
|
-
throw new Error("Expected ExternalExpr");
|
|
1821
|
-
}
|
|
1822
|
-
reexports.push({
|
|
1823
|
-
fromModule: expr.value.moduleName,
|
|
1824
|
-
symbolName: expr.value.name,
|
|
1825
|
-
asAlias: exportName
|
|
1826
|
-
});
|
|
1827
|
-
}
|
|
1828
|
-
reexportMap.set(exportName, exportRef);
|
|
1829
|
-
} else {
|
|
1830
|
-
const prevRef = reexportMap.get(exportName);
|
|
1831
|
-
diagnostics.push(reexportCollision(ngModuleRef.node, prevRef, exportRef));
|
|
1832
|
-
}
|
|
1833
|
-
};
|
|
1834
|
-
for (const { ref: ref2 } of exported.directives) {
|
|
1835
|
-
addReexport(ref2);
|
|
1836
|
-
}
|
|
1837
|
-
for (const { ref: ref2 } of exported.pipes) {
|
|
1838
|
-
addReexport(ref2);
|
|
1839
|
-
}
|
|
1840
|
-
return reexports;
|
|
1841
|
-
}
|
|
1842
|
-
assertCollecting() {
|
|
1843
|
-
if (this.sealed) {
|
|
1844
|
-
throw new Error(`Assertion: LocalModuleScopeRegistry is not COLLECTING`);
|
|
1845
|
-
}
|
|
1846
|
-
}
|
|
1847
|
-
};
|
|
1848
|
-
function invalidRef(clazz, decl, type) {
|
|
1849
|
-
const code = type === "import" ? ErrorCode.NGMODULE_INVALID_IMPORT : ErrorCode.NGMODULE_INVALID_EXPORT;
|
|
1850
|
-
const resolveTarget = type === "import" ? "NgModule" : "NgModule, Component, Directive, or Pipe";
|
|
1851
|
-
let message = `Appears in the NgModule.${type}s of ${nodeNameForError(clazz)}, but could not be resolved to an ${resolveTarget} class.
|
|
1852
|
-
|
|
1853
|
-
`;
|
|
1854
|
-
const library = decl.ownedByModuleGuess !== null ? ` (${decl.ownedByModuleGuess})` : "";
|
|
1855
|
-
const sf = decl.node.getSourceFile();
|
|
1856
|
-
if (!sf.isDeclarationFile) {
|
|
1857
|
-
const annotationType = type === "import" ? "@NgModule" : "Angular";
|
|
1858
|
-
message += `Is it missing an ${annotationType} annotation?`;
|
|
1859
|
-
} else if (sf.fileName.indexOf("node_modules") !== -1) {
|
|
1860
|
-
message += `This likely means that the library${library} which declares ${decl.debugName} has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.`;
|
|
1861
|
-
} else {
|
|
1862
|
-
message += `This likely means that the dependency${library} which declares ${decl.debugName} has not been processed correctly by ngcc.`;
|
|
1863
|
-
}
|
|
1864
|
-
return makeDiagnostic(code, identifierOfNode(decl.node) || decl.node, message);
|
|
1865
|
-
}
|
|
1866
|
-
function invalidTransitiveNgModuleRef(clazz, decl, type) {
|
|
1867
|
-
const code = type === "import" ? ErrorCode.NGMODULE_INVALID_IMPORT : ErrorCode.NGMODULE_INVALID_EXPORT;
|
|
1868
|
-
return makeDiagnostic(code, identifierOfNode(decl.node) || decl.node, `Appears in the NgModule.${type}s of ${nodeNameForError(clazz)}, but itself has errors`);
|
|
1869
|
-
}
|
|
1870
|
-
function invalidReexport(clazz, decl) {
|
|
1871
|
-
return makeDiagnostic(ErrorCode.NGMODULE_INVALID_REEXPORT, identifierOfNode(decl.node) || decl.node, `Present in the NgModule.exports of ${nodeNameForError(clazz)} but neither declared nor imported`);
|
|
1872
|
-
}
|
|
1873
|
-
function reexportCollision(module, refA, refB) {
|
|
1874
|
-
const childMessageText = `This directive/pipe is part of the exports of '${module.name.text}' and shares the same name as another exported directive/pipe.`;
|
|
1875
|
-
return makeDiagnostic(ErrorCode.NGMODULE_REEXPORT_NAME_COLLISION, module.name, `
|
|
1876
|
-
There was a name collision between two classes named '${refA.node.name.text}', which are both part of the exports of '${module.name.text}'.
|
|
1877
|
-
|
|
1878
|
-
Angular generates re-exports of an NgModule's exported directives/pipes from the module's source file in certain cases, using the declared name of the class. If two classes of the same name are exported, this automatic naming does not work.
|
|
1879
|
-
|
|
1880
|
-
To fix this problem please re-export one or both classes directly from this file.
|
|
1881
|
-
`.trim(), [
|
|
1882
|
-
makeRelatedInformation(refA.node.name, childMessageText),
|
|
1883
|
-
makeRelatedInformation(refB.node.name, childMessageText)
|
|
1884
|
-
]);
|
|
1885
|
-
}
|
|
1886
|
-
|
|
1887
|
-
// bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/scope/src/typecheck.mjs
|
|
1888
|
-
import { CssSelector, SelectorMatcher } from "@angular/compiler";
|
|
1889
|
-
import ts9 from "typescript";
|
|
1890
|
-
var TypeCheckScopeRegistry = class {
|
|
1891
|
-
constructor(scopeReader, metaReader) {
|
|
1892
|
-
this.scopeReader = scopeReader;
|
|
1893
|
-
this.metaReader = metaReader;
|
|
1894
|
-
this.flattenedDirectiveMetaCache = /* @__PURE__ */ new Map();
|
|
1895
|
-
this.scopeCache = /* @__PURE__ */ new Map();
|
|
1896
|
-
}
|
|
1897
|
-
getTypeCheckScope(node) {
|
|
1898
|
-
const matcher = new SelectorMatcher();
|
|
1899
|
-
const directives = [];
|
|
1900
|
-
const pipes = /* @__PURE__ */ new Map();
|
|
1901
|
-
const scope = this.scopeReader.getScopeForComponent(node);
|
|
1902
|
-
if (scope === null) {
|
|
1903
|
-
return {
|
|
1904
|
-
matcher,
|
|
1905
|
-
directives,
|
|
1906
|
-
pipes,
|
|
1907
|
-
schemas: [],
|
|
1908
|
-
isPoisoned: false
|
|
1909
|
-
};
|
|
1910
|
-
}
|
|
1911
|
-
if (this.scopeCache.has(scope.ngModule)) {
|
|
1912
|
-
return this.scopeCache.get(scope.ngModule);
|
|
1913
|
-
}
|
|
1914
|
-
for (const meta of scope.compilation.directives) {
|
|
1915
|
-
if (meta.selector !== null) {
|
|
1916
|
-
const extMeta = this.getTypeCheckDirectiveMetadata(meta.ref);
|
|
1917
|
-
matcher.addSelectables(CssSelector.parse(meta.selector), extMeta);
|
|
1918
|
-
directives.push(extMeta);
|
|
1919
|
-
}
|
|
1920
|
-
}
|
|
1921
|
-
for (const { name, ref } of scope.compilation.pipes) {
|
|
1922
|
-
if (!ts9.isClassDeclaration(ref.node)) {
|
|
1923
|
-
throw new Error(`Unexpected non-class declaration ${ts9.SyntaxKind[ref.node.kind]} for pipe ${ref.debugName}`);
|
|
1924
|
-
}
|
|
1925
|
-
pipes.set(name, ref);
|
|
1926
|
-
}
|
|
1927
|
-
const typeCheckScope = {
|
|
1928
|
-
matcher,
|
|
1929
|
-
directives,
|
|
1930
|
-
pipes,
|
|
1931
|
-
schemas: scope.schemas,
|
|
1932
|
-
isPoisoned: scope.compilation.isPoisoned || scope.exported.isPoisoned
|
|
1933
|
-
};
|
|
1934
|
-
this.scopeCache.set(scope.ngModule, typeCheckScope);
|
|
1935
|
-
return typeCheckScope;
|
|
1936
|
-
}
|
|
1937
|
-
getTypeCheckDirectiveMetadata(ref) {
|
|
1938
|
-
const clazz = ref.node;
|
|
1939
|
-
if (this.flattenedDirectiveMetaCache.has(clazz)) {
|
|
1940
|
-
return this.flattenedDirectiveMetaCache.get(clazz);
|
|
1941
|
-
}
|
|
1942
|
-
const meta = flattenInheritedDirectiveMetadata(this.metaReader, ref);
|
|
1943
|
-
this.flattenedDirectiveMetaCache.set(clazz, meta);
|
|
1944
|
-
return meta;
|
|
1945
|
-
}
|
|
1946
|
-
};
|
|
1947
|
-
|
|
1948
|
-
// bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
|
|
1949
|
-
import { CssSelector as CssSelector2, DomElementSchemaRegistry as DomElementSchemaRegistry2 } from "@angular/compiler";
|
|
1950
|
-
|
|
1951
|
-
// bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/diagnostic.mjs
|
|
1952
|
-
import ts10 from "typescript";
|
|
1953
1496
|
function makeTemplateDiagnostic(templateId, mapping, span, category, code, messageText, relatedMessages) {
|
|
1954
1497
|
if (mapping.type === "direct") {
|
|
1955
1498
|
let relatedInformation = void 0;
|
|
@@ -1957,7 +1500,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
|
|
|
1957
1500
|
relatedInformation = [];
|
|
1958
1501
|
for (const relatedMessage of relatedMessages) {
|
|
1959
1502
|
relatedInformation.push({
|
|
1960
|
-
category:
|
|
1503
|
+
category: ts8.DiagnosticCategory.Message,
|
|
1961
1504
|
code: 0,
|
|
1962
1505
|
file: relatedMessage.sourceFile,
|
|
1963
1506
|
start: relatedMessage.start,
|
|
@@ -1982,12 +1525,12 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
|
|
|
1982
1525
|
const componentSf = mapping.componentClass.getSourceFile();
|
|
1983
1526
|
const componentName = mapping.componentClass.name.text;
|
|
1984
1527
|
const fileName = mapping.type === "indirect" ? `${componentSf.fileName} (${componentName} template)` : mapping.templateUrl;
|
|
1985
|
-
const sf =
|
|
1528
|
+
const sf = ts8.createSourceFile(fileName, mapping.template, ts8.ScriptTarget.Latest, false, ts8.ScriptKind.JSX);
|
|
1986
1529
|
let relatedInformation = [];
|
|
1987
1530
|
if (relatedMessages !== void 0) {
|
|
1988
1531
|
for (const relatedMessage of relatedMessages) {
|
|
1989
1532
|
relatedInformation.push({
|
|
1990
|
-
category:
|
|
1533
|
+
category: ts8.DiagnosticCategory.Message,
|
|
1991
1534
|
code: 0,
|
|
1992
1535
|
file: relatedMessage.sourceFile,
|
|
1993
1536
|
start: relatedMessage.start,
|
|
@@ -1997,7 +1540,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
|
|
|
1997
1540
|
}
|
|
1998
1541
|
}
|
|
1999
1542
|
relatedInformation.push({
|
|
2000
|
-
category:
|
|
1543
|
+
category: ts8.DiagnosticCategory.Message,
|
|
2001
1544
|
code: 0,
|
|
2002
1545
|
file: componentSf,
|
|
2003
1546
|
start: mapping.node.getStart(),
|
|
@@ -2021,7 +1564,7 @@ function makeTemplateDiagnostic(templateId, mapping, span, category, code, messa
|
|
|
2021
1564
|
}
|
|
2022
1565
|
}
|
|
2023
1566
|
|
|
2024
|
-
// bazel-out/
|
|
1567
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/diagnostics/src/id.mjs
|
|
2025
1568
|
var TEMPLATE_ID = Symbol("ngTemplateId");
|
|
2026
1569
|
var NEXT_TEMPLATE_ID = Symbol("ngNextTemplateId");
|
|
2027
1570
|
function getTemplateId(clazz) {
|
|
@@ -2038,17 +1581,17 @@ function allocateTemplateId(sf) {
|
|
|
2038
1581
|
return `tcb${sf[NEXT_TEMPLATE_ID]++}`;
|
|
2039
1582
|
}
|
|
2040
1583
|
|
|
2041
|
-
// bazel-out/
|
|
1584
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
|
|
2042
1585
|
import { EmptyExpr, ImplicitReceiver as ImplicitReceiver2, PropertyRead as PropertyRead2, PropertyWrite as PropertyWrite2, SafePropertyRead, TmplAstReference as TmplAstReference2, TmplAstTextAttribute } from "@angular/compiler";
|
|
2043
|
-
import
|
|
1586
|
+
import ts10 from "typescript";
|
|
2044
1587
|
|
|
2045
|
-
// bazel-out/
|
|
1588
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/comments.mjs
|
|
2046
1589
|
import { AbsoluteSourceSpan as AbsoluteSourceSpan2 } from "@angular/compiler";
|
|
2047
|
-
import
|
|
1590
|
+
import ts9 from "typescript";
|
|
2048
1591
|
var parseSpanComment = /^(\d+),(\d+)$/;
|
|
2049
1592
|
function readSpanComment(node, sourceFile = node.getSourceFile()) {
|
|
2050
|
-
return
|
|
2051
|
-
if (kind !==
|
|
1593
|
+
return ts9.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
|
|
1594
|
+
if (kind !== ts9.SyntaxKind.MultiLineCommentTrivia) {
|
|
2052
1595
|
return null;
|
|
2053
1596
|
}
|
|
2054
1597
|
const commentText = sourceFile.text.substring(pos + 2, end - 2);
|
|
@@ -2071,15 +1614,15 @@ var ExpressionIdentifier;
|
|
|
2071
1614
|
ExpressionIdentifier2["EVENT_PARAMETER"] = "EP";
|
|
2072
1615
|
})(ExpressionIdentifier || (ExpressionIdentifier = {}));
|
|
2073
1616
|
function addExpressionIdentifier(node, identifier) {
|
|
2074
|
-
|
|
1617
|
+
ts9.addSyntheticTrailingComment(node, ts9.SyntaxKind.MultiLineCommentTrivia, `${CommentTriviaType.EXPRESSION_TYPE_IDENTIFIER}:${identifier}`, false);
|
|
2075
1618
|
}
|
|
2076
1619
|
var IGNORE_FOR_DIAGNOSTICS_MARKER = `${CommentTriviaType.DIAGNOSTIC}:ignore`;
|
|
2077
1620
|
function markIgnoreDiagnostics(node) {
|
|
2078
|
-
|
|
1621
|
+
ts9.addSyntheticTrailingComment(node, ts9.SyntaxKind.MultiLineCommentTrivia, IGNORE_FOR_DIAGNOSTICS_MARKER, false);
|
|
2079
1622
|
}
|
|
2080
1623
|
function hasIgnoreForDiagnosticsMarker(node, sourceFile) {
|
|
2081
|
-
return
|
|
2082
|
-
if (kind !==
|
|
1624
|
+
return ts9.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
|
|
1625
|
+
if (kind !== ts9.SyntaxKind.MultiLineCommentTrivia) {
|
|
2083
1626
|
return null;
|
|
2084
1627
|
}
|
|
2085
1628
|
const commentText = sourceFile.text.substring(pos + 2, end - 2);
|
|
@@ -2153,8 +1696,8 @@ function findAllMatchingNodes(tcb, opts) {
|
|
|
2153
1696
|
return results;
|
|
2154
1697
|
}
|
|
2155
1698
|
function hasExpressionIdentifier(sourceFile, node, identifier) {
|
|
2156
|
-
return
|
|
2157
|
-
if (kind !==
|
|
1699
|
+
return ts9.forEachTrailingCommentRange(sourceFile.text, node.getEnd(), (pos, end, kind) => {
|
|
1700
|
+
if (kind !== ts9.SyntaxKind.MultiLineCommentTrivia) {
|
|
2158
1701
|
return false;
|
|
2159
1702
|
}
|
|
2160
1703
|
const commentText = sourceFile.text.substring(pos + 2, end - 2);
|
|
@@ -2162,22 +1705,24 @@ function hasExpressionIdentifier(sourceFile, node, identifier) {
|
|
|
2162
1705
|
}) || false;
|
|
2163
1706
|
}
|
|
2164
1707
|
|
|
2165
|
-
// bazel-out/
|
|
1708
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/completion.mjs
|
|
2166
1709
|
var CompletionEngine = class {
|
|
2167
|
-
constructor(tcb, data,
|
|
1710
|
+
constructor(tcb, data, tcbPath, tcbIsShim) {
|
|
2168
1711
|
this.tcb = tcb;
|
|
2169
1712
|
this.data = data;
|
|
2170
|
-
this.
|
|
1713
|
+
this.tcbPath = tcbPath;
|
|
1714
|
+
this.tcbIsShim = tcbIsShim;
|
|
2171
1715
|
this.templateContextCache = /* @__PURE__ */ new Map();
|
|
2172
1716
|
this.expressionCompletionCache = /* @__PURE__ */ new Map();
|
|
2173
1717
|
const globalRead = findFirstMatchingNode(this.tcb, {
|
|
2174
|
-
filter:
|
|
1718
|
+
filter: ts10.isPropertyAccessExpression,
|
|
2175
1719
|
withExpressionIdentifier: ExpressionIdentifier.COMPONENT_COMPLETION
|
|
2176
1720
|
});
|
|
2177
1721
|
if (globalRead !== null) {
|
|
2178
1722
|
this.componentContext = {
|
|
2179
|
-
|
|
2180
|
-
|
|
1723
|
+
tcbPath: this.tcbPath,
|
|
1724
|
+
isShimFile: this.tcbIsShim,
|
|
1725
|
+
positionInFile: globalRead.name.getStart()
|
|
2181
1726
|
};
|
|
2182
1727
|
} else {
|
|
2183
1728
|
this.componentContext = null;
|
|
@@ -2194,25 +1739,27 @@ var CompletionEngine = class {
|
|
|
2194
1739
|
let nodeContext = null;
|
|
2195
1740
|
if (node instanceof EmptyExpr) {
|
|
2196
1741
|
const nodeLocation = findFirstMatchingNode(this.tcb, {
|
|
2197
|
-
filter:
|
|
1742
|
+
filter: ts10.isIdentifier,
|
|
2198
1743
|
withSpan: node.sourceSpan
|
|
2199
1744
|
});
|
|
2200
1745
|
if (nodeLocation !== null) {
|
|
2201
1746
|
nodeContext = {
|
|
2202
|
-
|
|
2203
|
-
|
|
1747
|
+
tcbPath: this.tcbPath,
|
|
1748
|
+
isShimFile: this.tcbIsShim,
|
|
1749
|
+
positionInFile: nodeLocation.getStart()
|
|
2204
1750
|
};
|
|
2205
1751
|
}
|
|
2206
1752
|
}
|
|
2207
1753
|
if (node instanceof PropertyRead2 && node.receiver instanceof ImplicitReceiver2) {
|
|
2208
1754
|
const nodeLocation = findFirstMatchingNode(this.tcb, {
|
|
2209
|
-
filter:
|
|
1755
|
+
filter: ts10.isPropertyAccessExpression,
|
|
2210
1756
|
withSpan: node.sourceSpan
|
|
2211
1757
|
});
|
|
2212
1758
|
if (nodeLocation) {
|
|
2213
1759
|
nodeContext = {
|
|
2214
|
-
|
|
2215
|
-
|
|
1760
|
+
tcbPath: this.tcbPath,
|
|
1761
|
+
isShimFile: this.tcbIsShim,
|
|
1762
|
+
positionInFile: nodeLocation.getStart()
|
|
2216
1763
|
};
|
|
2217
1764
|
}
|
|
2218
1765
|
}
|
|
@@ -2229,21 +1776,21 @@ var CompletionEngine = class {
|
|
|
2229
1776
|
let tsExpr = null;
|
|
2230
1777
|
if (expr instanceof PropertyRead2 || expr instanceof PropertyWrite2) {
|
|
2231
1778
|
tsExpr = findFirstMatchingNode(this.tcb, {
|
|
2232
|
-
filter:
|
|
1779
|
+
filter: ts10.isPropertyAccessExpression,
|
|
2233
1780
|
withSpan: expr.nameSpan
|
|
2234
1781
|
});
|
|
2235
1782
|
} else if (expr instanceof SafePropertyRead) {
|
|
2236
1783
|
const ternaryExpr = findFirstMatchingNode(this.tcb, {
|
|
2237
|
-
filter:
|
|
1784
|
+
filter: ts10.isParenthesizedExpression,
|
|
2238
1785
|
withSpan: expr.sourceSpan
|
|
2239
1786
|
});
|
|
2240
|
-
if (ternaryExpr === null || !
|
|
1787
|
+
if (ternaryExpr === null || !ts10.isConditionalExpression(ternaryExpr.expression)) {
|
|
2241
1788
|
return null;
|
|
2242
1789
|
}
|
|
2243
1790
|
const whenTrue = ternaryExpr.expression.whenTrue;
|
|
2244
|
-
if (
|
|
1791
|
+
if (ts10.isPropertyAccessExpression(whenTrue)) {
|
|
2245
1792
|
tsExpr = whenTrue;
|
|
2246
|
-
} else if (
|
|
1793
|
+
} else if (ts10.isCallExpression(whenTrue) && ts10.isPropertyAccessExpression(whenTrue.expression)) {
|
|
2247
1794
|
tsExpr = whenTrue.expression;
|
|
2248
1795
|
}
|
|
2249
1796
|
}
|
|
@@ -2251,8 +1798,9 @@ var CompletionEngine = class {
|
|
|
2251
1798
|
return null;
|
|
2252
1799
|
}
|
|
2253
1800
|
const res = {
|
|
2254
|
-
|
|
2255
|
-
|
|
1801
|
+
tcbPath: this.tcbPath,
|
|
1802
|
+
isShimFile: this.tcbIsShim,
|
|
1803
|
+
positionInFile: tsExpr.name.getEnd()
|
|
2256
1804
|
};
|
|
2257
1805
|
this.expressionCompletionCache.set(expr, res);
|
|
2258
1806
|
return res;
|
|
@@ -2264,15 +1812,15 @@ var CompletionEngine = class {
|
|
|
2264
1812
|
let tsExpr = null;
|
|
2265
1813
|
if (expr instanceof TmplAstTextAttribute) {
|
|
2266
1814
|
const strNode = findFirstMatchingNode(this.tcb, {
|
|
2267
|
-
filter:
|
|
1815
|
+
filter: ts10.isParenthesizedExpression,
|
|
2268
1816
|
withSpan: expr.sourceSpan
|
|
2269
1817
|
});
|
|
2270
|
-
if (strNode !== null &&
|
|
1818
|
+
if (strNode !== null && ts10.isStringLiteral(strNode.expression)) {
|
|
2271
1819
|
tsExpr = strNode.expression;
|
|
2272
1820
|
}
|
|
2273
1821
|
} else {
|
|
2274
1822
|
tsExpr = findFirstMatchingNode(this.tcb, {
|
|
2275
|
-
filter: (n) =>
|
|
1823
|
+
filter: (n) => ts10.isStringLiteral(n) || ts10.isNumericLiteral(n),
|
|
2276
1824
|
withSpan: expr.sourceSpan
|
|
2277
1825
|
});
|
|
2278
1826
|
}
|
|
@@ -2280,12 +1828,13 @@ var CompletionEngine = class {
|
|
|
2280
1828
|
return null;
|
|
2281
1829
|
}
|
|
2282
1830
|
let positionInShimFile = tsExpr.getEnd();
|
|
2283
|
-
if (
|
|
1831
|
+
if (ts10.isStringLiteral(tsExpr)) {
|
|
2284
1832
|
positionInShimFile -= 1;
|
|
2285
1833
|
}
|
|
2286
1834
|
const res = {
|
|
2287
|
-
|
|
2288
|
-
|
|
1835
|
+
tcbPath: this.tcbPath,
|
|
1836
|
+
isShimFile: this.tcbIsShim,
|
|
1837
|
+
positionInFile: positionInShimFile
|
|
2289
1838
|
};
|
|
2290
1839
|
this.expressionCompletionCache.set(expr, res);
|
|
2291
1840
|
return res;
|
|
@@ -2313,12 +1862,12 @@ var CompletionEngine = class {
|
|
|
2313
1862
|
}
|
|
2314
1863
|
};
|
|
2315
1864
|
|
|
2316
|
-
// bazel-out/
|
|
2317
|
-
import
|
|
1865
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
|
|
1866
|
+
import ts24 from "typescript";
|
|
2318
1867
|
|
|
2319
|
-
// bazel-out/
|
|
1868
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/dom.mjs
|
|
2320
1869
|
import { DomElementSchemaRegistry } from "@angular/compiler";
|
|
2321
|
-
import
|
|
1870
|
+
import ts11 from "typescript";
|
|
2322
1871
|
var REGISTRY = new DomElementSchemaRegistry();
|
|
2323
1872
|
var REMOVE_XHTML_REGEX = /^:xhtml:/;
|
|
2324
1873
|
var RegistryDomSchemaChecker = class {
|
|
@@ -2342,7 +1891,7 @@ var RegistryDomSchemaChecker = class {
|
|
|
2342
1891
|
} else {
|
|
2343
1892
|
errorMsg += `2. To allow any element add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.`;
|
|
2344
1893
|
}
|
|
2345
|
-
const diag = makeTemplateDiagnostic(id, mapping, element.startSourceSpan,
|
|
1894
|
+
const diag = makeTemplateDiagnostic(id, mapping, element.startSourceSpan, ts11.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SCHEMA_INVALID_ELEMENT), errorMsg);
|
|
2346
1895
|
this._diagnostics.push(diag);
|
|
2347
1896
|
}
|
|
2348
1897
|
}
|
|
@@ -2360,70 +1909,70 @@ var RegistryDomSchemaChecker = class {
|
|
|
2360
1909
|
2. If '${element.name}' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
|
|
2361
1910
|
3. To allow any property add 'NO_ERRORS_SCHEMA' to the '@NgModule.schemas' of this component.`;
|
|
2362
1911
|
}
|
|
2363
|
-
const diag = makeTemplateDiagnostic(id, mapping, span,
|
|
1912
|
+
const diag = makeTemplateDiagnostic(id, mapping, span, ts11.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SCHEMA_INVALID_ATTRIBUTE), errorMsg);
|
|
2364
1913
|
this._diagnostics.push(diag);
|
|
2365
1914
|
}
|
|
2366
1915
|
}
|
|
2367
1916
|
};
|
|
2368
1917
|
|
|
2369
|
-
// bazel-out/
|
|
2370
|
-
import { ExpressionType, ExternalExpr
|
|
2371
|
-
import
|
|
1918
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
|
|
1919
|
+
import { ExpressionType, ExternalExpr, TypeModifier } from "@angular/compiler";
|
|
1920
|
+
import ts17 from "typescript";
|
|
2372
1921
|
|
|
2373
|
-
// bazel-out/
|
|
2374
|
-
import
|
|
1922
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/ts_util.mjs
|
|
1923
|
+
import ts12 from "typescript";
|
|
2375
1924
|
var SAFE_TO_CAST_WITHOUT_PARENS = /* @__PURE__ */ new Set([
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2385
|
-
|
|
2386
|
-
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
1925
|
+
ts12.SyntaxKind.ParenthesizedExpression,
|
|
1926
|
+
ts12.SyntaxKind.Identifier,
|
|
1927
|
+
ts12.SyntaxKind.CallExpression,
|
|
1928
|
+
ts12.SyntaxKind.NonNullExpression,
|
|
1929
|
+
ts12.SyntaxKind.ElementAccessExpression,
|
|
1930
|
+
ts12.SyntaxKind.PropertyAccessExpression,
|
|
1931
|
+
ts12.SyntaxKind.ArrayLiteralExpression,
|
|
1932
|
+
ts12.SyntaxKind.ObjectLiteralExpression,
|
|
1933
|
+
ts12.SyntaxKind.StringLiteral,
|
|
1934
|
+
ts12.SyntaxKind.NumericLiteral,
|
|
1935
|
+
ts12.SyntaxKind.TrueKeyword,
|
|
1936
|
+
ts12.SyntaxKind.FalseKeyword,
|
|
1937
|
+
ts12.SyntaxKind.NullKeyword,
|
|
1938
|
+
ts12.SyntaxKind.UndefinedKeyword
|
|
2390
1939
|
]);
|
|
2391
1940
|
function tsCastToAny(expr) {
|
|
2392
1941
|
if (!SAFE_TO_CAST_WITHOUT_PARENS.has(expr.kind)) {
|
|
2393
|
-
expr =
|
|
1942
|
+
expr = ts12.factory.createParenthesizedExpression(expr);
|
|
2394
1943
|
}
|
|
2395
|
-
return
|
|
1944
|
+
return ts12.factory.createParenthesizedExpression(ts12.factory.createAsExpression(expr, ts12.factory.createKeywordTypeNode(ts12.SyntaxKind.AnyKeyword)));
|
|
2396
1945
|
}
|
|
2397
1946
|
function tsCreateElement(tagName) {
|
|
2398
|
-
const createElement =
|
|
2399
|
-
return
|
|
1947
|
+
const createElement = ts12.factory.createPropertyAccessExpression(ts12.factory.createIdentifier("document"), "createElement");
|
|
1948
|
+
return ts12.factory.createCallExpression(createElement, void 0, [ts12.factory.createStringLiteral(tagName)]);
|
|
2400
1949
|
}
|
|
2401
1950
|
function tsDeclareVariable(id, type) {
|
|
2402
|
-
const decl =
|
|
2403
|
-
return
|
|
1951
|
+
const decl = ts12.factory.createVariableDeclaration(id, void 0, type, ts12.factory.createNonNullExpression(ts12.factory.createNull()));
|
|
1952
|
+
return ts12.factory.createVariableStatement(void 0, [decl]);
|
|
2404
1953
|
}
|
|
2405
1954
|
function tsCreateTypeQueryForCoercedInput(typeName, coercedInputName) {
|
|
2406
|
-
return
|
|
1955
|
+
return ts12.factory.createTypeQueryNode(ts12.factory.createQualifiedName(typeName, `ngAcceptInputType_${coercedInputName}`));
|
|
2407
1956
|
}
|
|
2408
1957
|
function tsCreateVariable(id, initializer) {
|
|
2409
|
-
const decl =
|
|
2410
|
-
return
|
|
1958
|
+
const decl = ts12.factory.createVariableDeclaration(id, void 0, void 0, initializer);
|
|
1959
|
+
return ts12.factory.createVariableStatement(void 0, [decl]);
|
|
2411
1960
|
}
|
|
2412
1961
|
function tsCallMethod(receiver, methodName, args = []) {
|
|
2413
|
-
const methodAccess =
|
|
2414
|
-
return
|
|
1962
|
+
const methodAccess = ts12.factory.createPropertyAccessExpression(receiver, methodName);
|
|
1963
|
+
return ts12.factory.createCallExpression(methodAccess, void 0, args);
|
|
2415
1964
|
}
|
|
2416
1965
|
function checkIfClassIsExported(node) {
|
|
2417
|
-
if (node.modifiers !== void 0 && node.modifiers.some((mod) => mod.kind ===
|
|
1966
|
+
if (node.modifiers !== void 0 && node.modifiers.some((mod) => mod.kind === ts12.SyntaxKind.ExportKeyword)) {
|
|
2418
1967
|
return true;
|
|
2419
|
-
} else if (node.parent !== void 0 &&
|
|
1968
|
+
} else if (node.parent !== void 0 && ts12.isSourceFile(node.parent) && checkIfFileHasExport(node.parent, node.name.text)) {
|
|
2420
1969
|
return true;
|
|
2421
1970
|
}
|
|
2422
1971
|
return false;
|
|
2423
1972
|
}
|
|
2424
1973
|
function checkIfFileHasExport(sf, name) {
|
|
2425
1974
|
for (const stmt of sf.statements) {
|
|
2426
|
-
if (
|
|
1975
|
+
if (ts12.isExportDeclaration(stmt) && stmt.exportClause !== void 0 && ts12.isNamedExports(stmt.exportClause)) {
|
|
2427
1976
|
for (const element of stmt.exportClause.elements) {
|
|
2428
1977
|
if (element.propertyName === void 0 && element.name.text === name) {
|
|
2429
1978
|
return true;
|
|
@@ -2436,20 +1985,20 @@ function checkIfFileHasExport(sf, name) {
|
|
|
2436
1985
|
return false;
|
|
2437
1986
|
}
|
|
2438
1987
|
function isAccessExpression(node) {
|
|
2439
|
-
return
|
|
1988
|
+
return ts12.isPropertyAccessExpression(node) || ts12.isElementAccessExpression(node);
|
|
2440
1989
|
}
|
|
2441
1990
|
|
|
2442
|
-
// bazel-out/
|
|
2443
|
-
import ts18 from "typescript";
|
|
2444
|
-
|
|
2445
|
-
// bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
|
|
2446
|
-
import ts17 from "typescript";
|
|
2447
|
-
|
|
2448
|
-
// bazel-out/k8-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
|
|
1991
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
|
|
2449
1992
|
import ts16 from "typescript";
|
|
2450
1993
|
|
|
2451
|
-
// bazel-out/
|
|
1994
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
|
|
2452
1995
|
import ts15 from "typescript";
|
|
1996
|
+
|
|
1997
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
|
|
1998
|
+
import ts14 from "typescript";
|
|
1999
|
+
|
|
2000
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_emitter.mjs
|
|
2001
|
+
import ts13 from "typescript";
|
|
2453
2002
|
var INELIGIBLE = {};
|
|
2454
2003
|
function canEmitType(type, canEmit) {
|
|
2455
2004
|
return canEmitTypeWorker(type);
|
|
@@ -2457,13 +2006,13 @@ function canEmitType(type, canEmit) {
|
|
|
2457
2006
|
return visitNode(type2) !== INELIGIBLE;
|
|
2458
2007
|
}
|
|
2459
2008
|
function visitNode(node) {
|
|
2460
|
-
if (
|
|
2009
|
+
if (ts13.isImportTypeNode(node)) {
|
|
2461
2010
|
return INELIGIBLE;
|
|
2462
2011
|
}
|
|
2463
|
-
if (
|
|
2012
|
+
if (ts13.isTypeReferenceNode(node) && !canEmitTypeReference(node)) {
|
|
2464
2013
|
return INELIGIBLE;
|
|
2465
2014
|
} else {
|
|
2466
|
-
return
|
|
2015
|
+
return ts13.forEachChild(node, visitNode);
|
|
2467
2016
|
}
|
|
2468
2017
|
}
|
|
2469
2018
|
function canEmitTypeReference(type2) {
|
|
@@ -2480,22 +2029,22 @@ var TypeEmitter = class {
|
|
|
2480
2029
|
emitType(type) {
|
|
2481
2030
|
const typeReferenceTransformer = (context) => {
|
|
2482
2031
|
const visitNode = (node) => {
|
|
2483
|
-
if (
|
|
2032
|
+
if (ts13.isImportTypeNode(node)) {
|
|
2484
2033
|
throw new Error("Unable to emit import type");
|
|
2485
2034
|
}
|
|
2486
|
-
if (
|
|
2035
|
+
if (ts13.isTypeReferenceNode(node)) {
|
|
2487
2036
|
return this.emitTypeReference(node);
|
|
2488
|
-
} else if (
|
|
2489
|
-
const clone =
|
|
2490
|
-
|
|
2037
|
+
} else if (ts13.isLiteralExpression(node)) {
|
|
2038
|
+
const clone = ts13.getMutableClone(node);
|
|
2039
|
+
ts13.setTextRange(clone, { pos: -1, end: -1 });
|
|
2491
2040
|
return clone;
|
|
2492
2041
|
} else {
|
|
2493
|
-
return
|
|
2042
|
+
return ts13.visitEachChild(node, visitNode, context);
|
|
2494
2043
|
}
|
|
2495
2044
|
};
|
|
2496
|
-
return (node) =>
|
|
2045
|
+
return (node) => ts13.visitNode(node, visitNode);
|
|
2497
2046
|
};
|
|
2498
|
-
return
|
|
2047
|
+
return ts13.transform(type, [typeReferenceTransformer]).transformed[0];
|
|
2499
2048
|
}
|
|
2500
2049
|
emitTypeReference(type) {
|
|
2501
2050
|
const translatedType = this.translator(type);
|
|
@@ -2504,13 +2053,13 @@ var TypeEmitter = class {
|
|
|
2504
2053
|
}
|
|
2505
2054
|
let typeArguments = void 0;
|
|
2506
2055
|
if (type.typeArguments !== void 0) {
|
|
2507
|
-
typeArguments =
|
|
2056
|
+
typeArguments = ts13.factory.createNodeArray(type.typeArguments.map((typeArg) => this.emitType(typeArg)));
|
|
2508
2057
|
}
|
|
2509
|
-
return
|
|
2058
|
+
return ts13.factory.updateTypeReferenceNode(type, translatedType.typeName, typeArguments);
|
|
2510
2059
|
}
|
|
2511
2060
|
};
|
|
2512
2061
|
|
|
2513
|
-
// bazel-out/
|
|
2062
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_parameter_emitter.mjs
|
|
2514
2063
|
var TypeParameterEmitter = class {
|
|
2515
2064
|
constructor(typeParameters, reflector) {
|
|
2516
2065
|
this.typeParameters = typeParameters;
|
|
@@ -2547,11 +2096,11 @@ var TypeParameterEmitter = class {
|
|
|
2547
2096
|
return this.typeParameters.map((typeParam) => {
|
|
2548
2097
|
const constraint = typeParam.constraint !== void 0 ? emitter.emitType(typeParam.constraint) : void 0;
|
|
2549
2098
|
const defaultType = typeParam.default !== void 0 ? emitter.emitType(typeParam.default) : void 0;
|
|
2550
|
-
return
|
|
2099
|
+
return ts14.factory.updateTypeParameterDeclaration(typeParam, typeParam.name, constraint, defaultType);
|
|
2551
2100
|
});
|
|
2552
2101
|
}
|
|
2553
2102
|
resolveTypeReference(type) {
|
|
2554
|
-
const target =
|
|
2103
|
+
const target = ts14.isIdentifier(type.typeName) ? type.typeName : type.typeName.right;
|
|
2555
2104
|
const declaration = this.reflector.getDeclarationOfIdentifier(target);
|
|
2556
2105
|
if (declaration === null || declaration.node === null) {
|
|
2557
2106
|
return null;
|
|
@@ -2577,8 +2126,8 @@ var TypeParameterEmitter = class {
|
|
|
2577
2126
|
if (typeNode === null) {
|
|
2578
2127
|
return null;
|
|
2579
2128
|
}
|
|
2580
|
-
if (!
|
|
2581
|
-
throw new Error(`Expected TypeReferenceNode for emitted reference, got ${
|
|
2129
|
+
if (!ts14.isTypeReferenceNode(typeNode)) {
|
|
2130
|
+
throw new Error(`Expected TypeReferenceNode for emitted reference, got ${ts14.SyntaxKind[typeNode.kind]}.`);
|
|
2582
2131
|
}
|
|
2583
2132
|
return typeNode;
|
|
2584
2133
|
}
|
|
@@ -2587,7 +2136,7 @@ var TypeParameterEmitter = class {
|
|
|
2587
2136
|
}
|
|
2588
2137
|
};
|
|
2589
2138
|
|
|
2590
|
-
// bazel-out/
|
|
2139
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/tcb_util.mjs
|
|
2591
2140
|
var TcbInliningRequirement;
|
|
2592
2141
|
(function(TcbInliningRequirement2) {
|
|
2593
2142
|
TcbInliningRequirement2[TcbInliningRequirement2["MustInline"] = 0] = "MustInline";
|
|
@@ -2620,14 +2169,14 @@ function getTemplateMapping(shimSf, position, resolver, isDiagnosticRequest) {
|
|
|
2620
2169
|
}
|
|
2621
2170
|
function findTypeCheckBlock(file, id, isDiagnosticRequest) {
|
|
2622
2171
|
for (const stmt of file.statements) {
|
|
2623
|
-
if (
|
|
2172
|
+
if (ts15.isFunctionDeclaration(stmt) && getTemplateId2(stmt, file, isDiagnosticRequest) === id) {
|
|
2624
2173
|
return stmt;
|
|
2625
2174
|
}
|
|
2626
2175
|
}
|
|
2627
2176
|
return null;
|
|
2628
2177
|
}
|
|
2629
2178
|
function findSourceLocation(node, sourceFile, isDiagnosticsRequest) {
|
|
2630
|
-
while (node !== void 0 && !
|
|
2179
|
+
while (node !== void 0 && !ts15.isFunctionDeclaration(node)) {
|
|
2631
2180
|
if (hasIgnoreForDiagnosticsMarker(node, sourceFile) && isDiagnosticsRequest) {
|
|
2632
2181
|
return null;
|
|
2633
2182
|
}
|
|
@@ -2644,7 +2193,7 @@ function findSourceLocation(node, sourceFile, isDiagnosticsRequest) {
|
|
|
2644
2193
|
return null;
|
|
2645
2194
|
}
|
|
2646
2195
|
function getTemplateId2(node, sourceFile, isDiagnosticRequest) {
|
|
2647
|
-
while (!
|
|
2196
|
+
while (!ts15.isFunctionDeclaration(node)) {
|
|
2648
2197
|
if (hasIgnoreForDiagnosticsMarker(node, sourceFile) && isDiagnosticRequest) {
|
|
2649
2198
|
return null;
|
|
2650
2199
|
}
|
|
@@ -2654,8 +2203,8 @@ function getTemplateId2(node, sourceFile, isDiagnosticRequest) {
|
|
|
2654
2203
|
}
|
|
2655
2204
|
}
|
|
2656
2205
|
const start = node.getFullStart();
|
|
2657
|
-
return
|
|
2658
|
-
if (kind !==
|
|
2206
|
+
return ts15.forEachLeadingCommentRange(sourceFile.text, start, (pos, end, kind) => {
|
|
2207
|
+
if (kind !== ts15.SyntaxKind.MultiLineCommentTrivia) {
|
|
2659
2208
|
return null;
|
|
2660
2209
|
}
|
|
2661
2210
|
const commentText = sourceFile.text.substring(pos + 2, end - 2);
|
|
@@ -2667,32 +2216,32 @@ function checkIfGenericTypeBoundsCanBeEmitted(node, reflector, env) {
|
|
|
2667
2216
|
return emitter.canEmit((ref) => env.canReferenceType(ref));
|
|
2668
2217
|
}
|
|
2669
2218
|
|
|
2670
|
-
// bazel-out/
|
|
2219
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_constructor.mjs
|
|
2671
2220
|
function generateTypeCtorDeclarationFn(node, meta, nodeTypeRef, typeParams) {
|
|
2672
2221
|
const rawTypeArgs = typeParams !== void 0 ? generateGenericArgs(typeParams) : void 0;
|
|
2673
|
-
const rawType =
|
|
2222
|
+
const rawType = ts16.factory.createTypeReferenceNode(nodeTypeRef, rawTypeArgs);
|
|
2674
2223
|
const initParam = constructTypeCtorParameter(node, meta, rawType);
|
|
2675
2224
|
const typeParameters = typeParametersWithDefaultTypes(typeParams);
|
|
2676
2225
|
if (meta.body) {
|
|
2677
|
-
const fnType =
|
|
2678
|
-
const decl =
|
|
2679
|
-
const declList =
|
|
2680
|
-
return
|
|
2226
|
+
const fnType = ts16.factory.createFunctionTypeNode(typeParameters, [initParam], rawType);
|
|
2227
|
+
const decl = ts16.factory.createVariableDeclaration(meta.fnName, void 0, fnType, ts16.factory.createNonNullExpression(ts16.factory.createNull()));
|
|
2228
|
+
const declList = ts16.factory.createVariableDeclarationList([decl], ts16.NodeFlags.Const);
|
|
2229
|
+
return ts16.factory.createVariableStatement(void 0, declList);
|
|
2681
2230
|
} else {
|
|
2682
|
-
return
|
|
2231
|
+
return ts16.factory.createFunctionDeclaration(void 0, [ts16.factory.createModifier(ts16.SyntaxKind.DeclareKeyword)], void 0, meta.fnName, typeParameters, [initParam], rawType, void 0);
|
|
2683
2232
|
}
|
|
2684
2233
|
}
|
|
2685
2234
|
function generateInlineTypeCtor(node, meta) {
|
|
2686
2235
|
const rawTypeArgs = node.typeParameters !== void 0 ? generateGenericArgs(node.typeParameters) : void 0;
|
|
2687
|
-
const rawType =
|
|
2236
|
+
const rawType = ts16.factory.createTypeReferenceNode(node.name, rawTypeArgs);
|
|
2688
2237
|
const initParam = constructTypeCtorParameter(node, meta, rawType);
|
|
2689
2238
|
let body = void 0;
|
|
2690
2239
|
if (meta.body) {
|
|
2691
|
-
body =
|
|
2692
|
-
|
|
2240
|
+
body = ts16.factory.createBlock([
|
|
2241
|
+
ts16.factory.createReturnStatement(ts16.factory.createNonNullExpression(ts16.factory.createNull()))
|
|
2693
2242
|
]);
|
|
2694
2243
|
}
|
|
2695
|
-
return
|
|
2244
|
+
return ts16.factory.createMethodDeclaration(void 0, [ts16.factory.createModifier(ts16.SyntaxKind.StaticKeyword)], void 0, meta.fnName, void 0, typeParametersWithDefaultTypes(node.typeParameters), [initParam], rawType, body);
|
|
2696
2245
|
}
|
|
2697
2246
|
function constructTypeCtorParameter(node, meta, rawType) {
|
|
2698
2247
|
let initType = null;
|
|
@@ -2701,26 +2250,26 @@ function constructTypeCtorParameter(node, meta, rawType) {
|
|
|
2701
2250
|
const coercedKeys = [];
|
|
2702
2251
|
for (const key of keys) {
|
|
2703
2252
|
if (!meta.coercedInputFields.has(key)) {
|
|
2704
|
-
plainKeys.push(
|
|
2253
|
+
plainKeys.push(ts16.factory.createLiteralTypeNode(ts16.factory.createStringLiteral(key)));
|
|
2705
2254
|
} else {
|
|
2706
|
-
coercedKeys.push(
|
|
2255
|
+
coercedKeys.push(ts16.factory.createPropertySignature(void 0, key, void 0, tsCreateTypeQueryForCoercedInput(rawType.typeName, key)));
|
|
2707
2256
|
}
|
|
2708
2257
|
}
|
|
2709
2258
|
if (plainKeys.length > 0) {
|
|
2710
|
-
const keyTypeUnion =
|
|
2711
|
-
initType =
|
|
2259
|
+
const keyTypeUnion = ts16.factory.createUnionTypeNode(plainKeys);
|
|
2260
|
+
initType = ts16.factory.createTypeReferenceNode("Pick", [rawType, keyTypeUnion]);
|
|
2712
2261
|
}
|
|
2713
2262
|
if (coercedKeys.length > 0) {
|
|
2714
|
-
const coercedLiteral =
|
|
2715
|
-
initType = initType !== null ?
|
|
2263
|
+
const coercedLiteral = ts16.factory.createTypeLiteralNode(coercedKeys);
|
|
2264
|
+
initType = initType !== null ? ts16.factory.createIntersectionTypeNode([initType, coercedLiteral]) : coercedLiteral;
|
|
2716
2265
|
}
|
|
2717
2266
|
if (initType === null) {
|
|
2718
|
-
initType =
|
|
2267
|
+
initType = ts16.factory.createTypeLiteralNode([]);
|
|
2719
2268
|
}
|
|
2720
|
-
return
|
|
2269
|
+
return ts16.factory.createParameterDeclaration(void 0, void 0, void 0, "init", void 0, initType, void 0);
|
|
2721
2270
|
}
|
|
2722
2271
|
function generateGenericArgs(params) {
|
|
2723
|
-
return params.map((param) =>
|
|
2272
|
+
return params.map((param) => ts16.factory.createTypeReferenceNode(param.name, void 0));
|
|
2724
2273
|
}
|
|
2725
2274
|
function requiresInlineTypeCtor(node, host, env) {
|
|
2726
2275
|
return !checkIfGenericTypeBoundsCanBeEmitted(node, host, env);
|
|
@@ -2731,14 +2280,14 @@ function typeParametersWithDefaultTypes(params) {
|
|
|
2731
2280
|
}
|
|
2732
2281
|
return params.map((param) => {
|
|
2733
2282
|
if (param.default === void 0) {
|
|
2734
|
-
return
|
|
2283
|
+
return ts16.factory.updateTypeParameterDeclaration(param, param.name, param.constraint, ts16.factory.createKeywordTypeNode(ts16.SyntaxKind.AnyKeyword));
|
|
2735
2284
|
} else {
|
|
2736
2285
|
return param;
|
|
2737
2286
|
}
|
|
2738
2287
|
});
|
|
2739
2288
|
}
|
|
2740
2289
|
|
|
2741
|
-
// bazel-out/
|
|
2290
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/environment.mjs
|
|
2742
2291
|
var Environment = class {
|
|
2743
2292
|
constructor(config, importManager, refEmitter, reflector, contextFile) {
|
|
2744
2293
|
this.config = config;
|
|
@@ -2763,13 +2312,13 @@ var Environment = class {
|
|
|
2763
2312
|
}
|
|
2764
2313
|
if (requiresInlineTypeCtor(node, this.reflector, this)) {
|
|
2765
2314
|
const ref = this.reference(dirRef);
|
|
2766
|
-
const typeCtorExpr =
|
|
2315
|
+
const typeCtorExpr = ts17.factory.createPropertyAccessExpression(ref, "ngTypeCtor");
|
|
2767
2316
|
this.typeCtors.set(node, typeCtorExpr);
|
|
2768
2317
|
return typeCtorExpr;
|
|
2769
2318
|
} else {
|
|
2770
2319
|
const fnName = `_ctor${this.nextIds.typeCtor++}`;
|
|
2771
2320
|
const nodeTypeRef = this.referenceType(dirRef);
|
|
2772
|
-
if (!
|
|
2321
|
+
if (!ts17.isTypeReferenceNode(nodeTypeRef)) {
|
|
2773
2322
|
throw new Error(`Expected TypeReferenceNode from reference to ${dirRef.debugName}`);
|
|
2774
2323
|
}
|
|
2775
2324
|
const meta = {
|
|
@@ -2785,7 +2334,7 @@ var Environment = class {
|
|
|
2785
2334
|
const typeParams = this.emitTypeParameters(node);
|
|
2786
2335
|
const typeCtor = generateTypeCtorDeclarationFn(node, meta, nodeTypeRef.typeName, typeParams);
|
|
2787
2336
|
this.typeCtorStatements.push(typeCtor);
|
|
2788
|
-
const fnId =
|
|
2337
|
+
const fnId = ts17.factory.createIdentifier(fnName);
|
|
2789
2338
|
this.typeCtors.set(node, fnId);
|
|
2790
2339
|
return fnId;
|
|
2791
2340
|
}
|
|
@@ -2795,7 +2344,7 @@ var Environment = class {
|
|
|
2795
2344
|
return this.pipeInsts.get(ref.node);
|
|
2796
2345
|
}
|
|
2797
2346
|
const pipeType = this.referenceType(ref);
|
|
2798
|
-
const pipeInstId =
|
|
2347
|
+
const pipeInstId = ts17.factory.createIdentifier(`_pipe${this.nextIds.pipeInst++}`);
|
|
2799
2348
|
this.pipeInstStatements.push(tsDeclareVariable(pipeInstId, pipeType));
|
|
2800
2349
|
this.pipeInsts.set(ref.node, pipeInstId);
|
|
2801
2350
|
return pipeInstId;
|
|
@@ -2819,7 +2368,7 @@ var Environment = class {
|
|
|
2819
2368
|
return emitter.emit((ref) => this.referenceType(ref));
|
|
2820
2369
|
}
|
|
2821
2370
|
referenceExternalType(moduleName, name, typeParams) {
|
|
2822
|
-
const external = new
|
|
2371
|
+
const external = new ExternalExpr({ moduleName, name });
|
|
2823
2372
|
return translateType(new ExpressionType(external, TypeModifier.None, typeParams), this.importManager);
|
|
2824
2373
|
}
|
|
2825
2374
|
getPreludeStatements() {
|
|
@@ -2830,9 +2379,9 @@ var Environment = class {
|
|
|
2830
2379
|
}
|
|
2831
2380
|
};
|
|
2832
2381
|
|
|
2833
|
-
// bazel-out/
|
|
2382
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/oob.mjs
|
|
2834
2383
|
import { TmplAstElement as TmplAstElement2 } from "@angular/compiler";
|
|
2835
|
-
import
|
|
2384
|
+
import ts18 from "typescript";
|
|
2836
2385
|
var OutOfBandDiagnosticRecorderImpl = class {
|
|
2837
2386
|
constructor(resolver) {
|
|
2838
2387
|
this.resolver = resolver;
|
|
@@ -2846,7 +2395,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
2846
2395
|
const mapping = this.resolver.getSourceMapping(templateId);
|
|
2847
2396
|
const value = ref.value.trim();
|
|
2848
2397
|
const errorMsg = `No directive found with exportAs '${value}'.`;
|
|
2849
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, ref.valueSpan || ref.sourceSpan,
|
|
2398
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, ref.valueSpan || ref.sourceSpan, ts18.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_REFERENCE_TARGET), errorMsg));
|
|
2850
2399
|
}
|
|
2851
2400
|
missingPipe(templateId, ast) {
|
|
2852
2401
|
if (this.recordedPipes.has(ast)) {
|
|
@@ -2858,7 +2407,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
2858
2407
|
if (sourceSpan === null) {
|
|
2859
2408
|
throw new Error(`Assertion failure: no SourceLocation found for usage of pipe '${ast.name}'.`);
|
|
2860
2409
|
}
|
|
2861
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan,
|
|
2410
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts18.DiagnosticCategory.Error, ngErrorCode(ErrorCode.MISSING_PIPE), errorMsg));
|
|
2862
2411
|
this.recordedPipes.add(ast);
|
|
2863
2412
|
}
|
|
2864
2413
|
illegalAssignmentToTemplateVar(templateId, assignment, target) {
|
|
@@ -2869,7 +2418,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
2869
2418
|
if (sourceSpan === null) {
|
|
2870
2419
|
throw new Error(`Assertion failure: no SourceLocation found for property binding.`);
|
|
2871
2420
|
}
|
|
2872
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan,
|
|
2421
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, sourceSpan, ts18.DiagnosticCategory.Error, ngErrorCode(ErrorCode.WRITE_TO_READ_ONLY_VARIABLE), errorMsg, [{
|
|
2873
2422
|
text: `The variable ${assignment.name} is declared here.`,
|
|
2874
2423
|
start: ((_a = target.valueSpan) == null ? void 0 : _a.start.offset) || target.sourceSpan.start.offset,
|
|
2875
2424
|
end: ((_b = target.valueSpan) == null ? void 0 : _b.end.offset) || target.sourceSpan.end.offset,
|
|
@@ -2879,7 +2428,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
2879
2428
|
duplicateTemplateVar(templateId, variable, firstDecl) {
|
|
2880
2429
|
const mapping = this.resolver.getSourceMapping(templateId);
|
|
2881
2430
|
const errorMsg = `Cannot redeclare variable '${variable.name}' as it was previously declared elsewhere for the same template.`;
|
|
2882
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, variable.sourceSpan,
|
|
2431
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, variable.sourceSpan, ts18.DiagnosticCategory.Error, ngErrorCode(ErrorCode.DUPLICATE_VARIABLE_DECLARATION), errorMsg, [{
|
|
2883
2432
|
text: `The variable '${firstDecl.name}' was first declared here.`,
|
|
2884
2433
|
start: firstDecl.sourceSpan.start.offset,
|
|
2885
2434
|
end: firstDecl.sourceSpan.end.offset,
|
|
@@ -2918,7 +2467,7 @@ var OutOfBandDiagnosticRecorderImpl = class {
|
|
|
2918
2467
|
const message = `This structural directive supports advanced type inference, but the current compiler configuration prevents its usage. The variable ${varIdentification} will have type 'any' as a result.
|
|
2919
2468
|
|
|
2920
2469
|
Consider enabling the 'strictTemplates' option in your tsconfig.json for better type inference within this template.`;
|
|
2921
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, diagnosticVar.keySpan,
|
|
2470
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, diagnosticVar.keySpan, ts18.DiagnosticCategory.Suggestion, ngErrorCode(ErrorCode.SUGGEST_SUBOPTIMAL_TYPE_INFERENCE), message));
|
|
2922
2471
|
}
|
|
2923
2472
|
splitTwoWayBinding(templateId, input, output, inputConsumer, outputConsumer) {
|
|
2924
2473
|
const mapping = this.resolver.getSourceMapping(templateId);
|
|
@@ -2952,7 +2501,7 @@ Consider enabling the 'strictTemplates' option in your tsconfig.json for better
|
|
|
2952
2501
|
sourceFile: outputConsumer.name.getSourceFile()
|
|
2953
2502
|
});
|
|
2954
2503
|
}
|
|
2955
|
-
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, input.keySpan,
|
|
2504
|
+
this._diagnostics.push(makeTemplateDiagnostic(templateId, mapping, input.keySpan, ts18.DiagnosticCategory.Error, ngErrorCode(ErrorCode.SPLIT_TWO_WAY_BINDING), errorMsg, relatedMessages));
|
|
2956
2505
|
}
|
|
2957
2506
|
};
|
|
2958
2507
|
function makeInlineDiagnostic(templateId, code, node, messageText, relatedInformation) {
|
|
@@ -2962,8 +2511,8 @@ function makeInlineDiagnostic(templateId, code, node, messageText, relatedInform
|
|
|
2962
2511
|
});
|
|
2963
2512
|
}
|
|
2964
2513
|
|
|
2965
|
-
// bazel-out/
|
|
2966
|
-
import
|
|
2514
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/shim.mjs
|
|
2515
|
+
import ts19 from "typescript";
|
|
2967
2516
|
var TypeCheckShimGenerator = class {
|
|
2968
2517
|
constructor() {
|
|
2969
2518
|
this.extensionPrefix = "ngtypecheck";
|
|
@@ -2973,25 +2522,25 @@ var TypeCheckShimGenerator = class {
|
|
|
2973
2522
|
if (priorShimSf !== null) {
|
|
2974
2523
|
return priorShimSf;
|
|
2975
2524
|
}
|
|
2976
|
-
return
|
|
2525
|
+
return ts19.createSourceFile(genFilePath, "export const USED_FOR_NG_TYPE_CHECKING = true;", ts19.ScriptTarget.Latest, true, ts19.ScriptKind.TS);
|
|
2977
2526
|
}
|
|
2978
2527
|
static shimFor(fileName) {
|
|
2979
2528
|
return absoluteFrom(fileName.replace(/\.tsx?$/, ".ngtypecheck.ts"));
|
|
2980
2529
|
}
|
|
2981
2530
|
};
|
|
2982
2531
|
|
|
2983
|
-
// bazel-out/
|
|
2532
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
|
|
2984
2533
|
import { BindingPipe, Call as Call2, DYNAMIC_TYPE, ImplicitReceiver as ImplicitReceiver4, PropertyRead as PropertyRead4, PropertyWrite as PropertyWrite3, SafeCall, SafePropertyRead as SafePropertyRead3, ThisReceiver, TmplAstBoundAttribute, TmplAstBoundText, TmplAstElement as TmplAstElement3, TmplAstIcu, TmplAstReference as TmplAstReference3, TmplAstTemplate as TmplAstTemplate2, TmplAstTextAttribute as TmplAstTextAttribute2, TmplAstVariable as TmplAstVariable2 } from "@angular/compiler";
|
|
2985
|
-
import
|
|
2534
|
+
import ts22 from "typescript";
|
|
2986
2535
|
|
|
2987
|
-
// bazel-out/
|
|
2536
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/diagnostics.mjs
|
|
2988
2537
|
import { AbsoluteSourceSpan as AbsoluteSourceSpan3 } from "@angular/compiler";
|
|
2989
|
-
import
|
|
2538
|
+
import ts20 from "typescript";
|
|
2990
2539
|
function wrapForDiagnostics(expr) {
|
|
2991
|
-
return
|
|
2540
|
+
return ts20.factory.createParenthesizedExpression(expr);
|
|
2992
2541
|
}
|
|
2993
2542
|
function wrapForTypeChecker(expr) {
|
|
2994
|
-
return
|
|
2543
|
+
return ts20.factory.createParenthesizedExpression(expr);
|
|
2995
2544
|
}
|
|
2996
2545
|
function addParseSpanInfo(node, span) {
|
|
2997
2546
|
let commentText;
|
|
@@ -3000,10 +2549,10 @@ function addParseSpanInfo(node, span) {
|
|
|
3000
2549
|
} else {
|
|
3001
2550
|
commentText = `${span.start.offset},${span.end.offset}`;
|
|
3002
2551
|
}
|
|
3003
|
-
|
|
2552
|
+
ts20.addSyntheticTrailingComment(node, ts20.SyntaxKind.MultiLineCommentTrivia, commentText, false);
|
|
3004
2553
|
}
|
|
3005
2554
|
function addTemplateId(tcb, id) {
|
|
3006
|
-
|
|
2555
|
+
ts20.addSyntheticLeadingComment(tcb, ts20.SyntaxKind.MultiLineCommentTrivia, id, true);
|
|
3007
2556
|
}
|
|
3008
2557
|
function shouldReportDiagnostic(diagnostic) {
|
|
3009
2558
|
const { code } = diagnostic;
|
|
@@ -3030,34 +2579,34 @@ function translateDiagnostic(diagnostic, resolver) {
|
|
|
3030
2579
|
return makeTemplateDiagnostic(sourceLocation.id, templateSourceMapping, span, diagnostic.category, diagnostic.code, diagnostic.messageText);
|
|
3031
2580
|
}
|
|
3032
2581
|
|
|
3033
|
-
// bazel-out/
|
|
2582
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/expression.mjs
|
|
3034
2583
|
import { ASTWithSource as ASTWithSource2, Call, EmptyExpr as EmptyExpr2, PropertyRead as PropertyRead3, SafeKeyedRead, SafePropertyRead as SafePropertyRead2 } from "@angular/compiler";
|
|
3035
|
-
import
|
|
3036
|
-
var NULL_AS_ANY =
|
|
3037
|
-
var UNDEFINED =
|
|
2584
|
+
import ts21 from "typescript";
|
|
2585
|
+
var NULL_AS_ANY = ts21.factory.createAsExpression(ts21.factory.createNull(), ts21.factory.createKeywordTypeNode(ts21.SyntaxKind.AnyKeyword));
|
|
2586
|
+
var UNDEFINED = ts21.factory.createIdentifier("undefined");
|
|
3038
2587
|
var UNARY_OPS = /* @__PURE__ */ new Map([
|
|
3039
|
-
["+",
|
|
3040
|
-
["-",
|
|
2588
|
+
["+", ts21.SyntaxKind.PlusToken],
|
|
2589
|
+
["-", ts21.SyntaxKind.MinusToken]
|
|
3041
2590
|
]);
|
|
3042
2591
|
var BINARY_OPS = /* @__PURE__ */ new Map([
|
|
3043
|
-
["+",
|
|
3044
|
-
["-",
|
|
3045
|
-
["<",
|
|
3046
|
-
[">",
|
|
3047
|
-
["<=",
|
|
3048
|
-
[">=",
|
|
3049
|
-
["==",
|
|
3050
|
-
["===",
|
|
3051
|
-
["*",
|
|
3052
|
-
["/",
|
|
3053
|
-
["%",
|
|
3054
|
-
["!=",
|
|
3055
|
-
["!==",
|
|
3056
|
-
["||",
|
|
3057
|
-
["&&",
|
|
3058
|
-
["&",
|
|
3059
|
-
["|",
|
|
3060
|
-
["??",
|
|
2592
|
+
["+", ts21.SyntaxKind.PlusToken],
|
|
2593
|
+
["-", ts21.SyntaxKind.MinusToken],
|
|
2594
|
+
["<", ts21.SyntaxKind.LessThanToken],
|
|
2595
|
+
[">", ts21.SyntaxKind.GreaterThanToken],
|
|
2596
|
+
["<=", ts21.SyntaxKind.LessThanEqualsToken],
|
|
2597
|
+
[">=", ts21.SyntaxKind.GreaterThanEqualsToken],
|
|
2598
|
+
["==", ts21.SyntaxKind.EqualsEqualsToken],
|
|
2599
|
+
["===", ts21.SyntaxKind.EqualsEqualsEqualsToken],
|
|
2600
|
+
["*", ts21.SyntaxKind.AsteriskToken],
|
|
2601
|
+
["/", ts21.SyntaxKind.SlashToken],
|
|
2602
|
+
["%", ts21.SyntaxKind.PercentToken],
|
|
2603
|
+
["!=", ts21.SyntaxKind.ExclamationEqualsToken],
|
|
2604
|
+
["!==", ts21.SyntaxKind.ExclamationEqualsEqualsToken],
|
|
2605
|
+
["||", ts21.SyntaxKind.BarBarToken],
|
|
2606
|
+
["&&", ts21.SyntaxKind.AmpersandAmpersandToken],
|
|
2607
|
+
["&", ts21.SyntaxKind.AmpersandToken],
|
|
2608
|
+
["|", ts21.SyntaxKind.BarToken],
|
|
2609
|
+
["??", ts21.SyntaxKind.QuestionQuestionToken]
|
|
3061
2610
|
]);
|
|
3062
2611
|
function astToTypescript(ast, maybeResolve, config) {
|
|
3063
2612
|
const translator = new AstTranslator(maybeResolve, config);
|
|
@@ -3073,7 +2622,7 @@ var AstTranslator = class {
|
|
|
3073
2622
|
ast = ast.ast;
|
|
3074
2623
|
}
|
|
3075
2624
|
if (ast instanceof EmptyExpr2) {
|
|
3076
|
-
const res =
|
|
2625
|
+
const res = ts21.factory.createIdentifier("undefined");
|
|
3077
2626
|
addParseSpanInfo(res, ast.sourceSpan);
|
|
3078
2627
|
return res;
|
|
3079
2628
|
}
|
|
@@ -3089,7 +2638,7 @@ var AstTranslator = class {
|
|
|
3089
2638
|
if (op === void 0) {
|
|
3090
2639
|
throw new Error(`Unsupported Unary.operator: ${ast.operator}`);
|
|
3091
2640
|
}
|
|
3092
|
-
const node = wrapForDiagnostics(
|
|
2641
|
+
const node = wrapForDiagnostics(ts21.factory.createPrefixUnaryExpression(op, expr));
|
|
3093
2642
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3094
2643
|
return node;
|
|
3095
2644
|
}
|
|
@@ -3100,13 +2649,13 @@ var AstTranslator = class {
|
|
|
3100
2649
|
if (op === void 0) {
|
|
3101
2650
|
throw new Error(`Unsupported Binary.operation: ${ast.operation}`);
|
|
3102
2651
|
}
|
|
3103
|
-
const node =
|
|
2652
|
+
const node = ts21.factory.createBinaryExpression(lhs, op, rhs);
|
|
3104
2653
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3105
2654
|
return node;
|
|
3106
2655
|
}
|
|
3107
2656
|
visitChain(ast) {
|
|
3108
2657
|
const elements = ast.expressions.map((expr) => this.translate(expr));
|
|
3109
|
-
const node = wrapForDiagnostics(
|
|
2658
|
+
const node = wrapForDiagnostics(ts21.factory.createCommaListExpression(elements));
|
|
3110
2659
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3111
2660
|
return node;
|
|
3112
2661
|
}
|
|
@@ -3114,7 +2663,7 @@ var AstTranslator = class {
|
|
|
3114
2663
|
const condExpr = this.translate(ast.condition);
|
|
3115
2664
|
const trueExpr = this.translate(ast.trueExp);
|
|
3116
2665
|
const falseExpr = wrapForTypeChecker(this.translate(ast.falseExp));
|
|
3117
|
-
const node =
|
|
2666
|
+
const node = ts21.factory.createParenthesizedExpression(ts21.factory.createConditionalExpression(condExpr, void 0, trueExpr, void 0, falseExpr));
|
|
3118
2667
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3119
2668
|
return node;
|
|
3120
2669
|
}
|
|
@@ -3125,26 +2674,26 @@ var AstTranslator = class {
|
|
|
3125
2674
|
throw new Error("Method not implemented.");
|
|
3126
2675
|
}
|
|
3127
2676
|
visitInterpolation(ast) {
|
|
3128
|
-
return ast.expressions.reduce((lhs, ast2) =>
|
|
2677
|
+
return ast.expressions.reduce((lhs, ast2) => ts21.factory.createBinaryExpression(lhs, ts21.SyntaxKind.PlusToken, wrapForTypeChecker(this.translate(ast2))), ts21.factory.createStringLiteral(""));
|
|
3129
2678
|
}
|
|
3130
2679
|
visitKeyedRead(ast) {
|
|
3131
2680
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3132
2681
|
const key = this.translate(ast.key);
|
|
3133
|
-
const node =
|
|
2682
|
+
const node = ts21.factory.createElementAccessExpression(receiver, key);
|
|
3134
2683
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3135
2684
|
return node;
|
|
3136
2685
|
}
|
|
3137
2686
|
visitKeyedWrite(ast) {
|
|
3138
2687
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3139
|
-
const left =
|
|
2688
|
+
const left = ts21.factory.createElementAccessExpression(receiver, this.translate(ast.key));
|
|
3140
2689
|
const right = wrapForTypeChecker(this.translate(ast.value));
|
|
3141
|
-
const node = wrapForDiagnostics(
|
|
2690
|
+
const node = wrapForDiagnostics(ts21.factory.createBinaryExpression(left, ts21.SyntaxKind.EqualsToken, right));
|
|
3142
2691
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3143
2692
|
return node;
|
|
3144
2693
|
}
|
|
3145
2694
|
visitLiteralArray(ast) {
|
|
3146
2695
|
const elements = ast.expressions.map((expr) => this.translate(expr));
|
|
3147
|
-
const literal =
|
|
2696
|
+
const literal = ts21.factory.createArrayLiteralExpression(elements);
|
|
3148
2697
|
const node = this.config.strictLiteralTypes ? literal : tsCastToAny(literal);
|
|
3149
2698
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3150
2699
|
return node;
|
|
@@ -3152,9 +2701,9 @@ var AstTranslator = class {
|
|
|
3152
2701
|
visitLiteralMap(ast) {
|
|
3153
2702
|
const properties = ast.keys.map(({ key }, idx) => {
|
|
3154
2703
|
const value = this.translate(ast.values[idx]);
|
|
3155
|
-
return
|
|
2704
|
+
return ts21.factory.createPropertyAssignment(ts21.factory.createStringLiteral(key), value);
|
|
3156
2705
|
});
|
|
3157
|
-
const literal =
|
|
2706
|
+
const literal = ts21.factory.createObjectLiteralExpression(properties, true);
|
|
3158
2707
|
const node = this.config.strictLiteralTypes ? literal : tsCastToAny(literal);
|
|
3159
2708
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3160
2709
|
return node;
|
|
@@ -3162,18 +2711,24 @@ var AstTranslator = class {
|
|
|
3162
2711
|
visitLiteralPrimitive(ast) {
|
|
3163
2712
|
let node;
|
|
3164
2713
|
if (ast.value === void 0) {
|
|
3165
|
-
node =
|
|
2714
|
+
node = ts21.factory.createIdentifier("undefined");
|
|
3166
2715
|
} else if (ast.value === null) {
|
|
3167
|
-
node =
|
|
2716
|
+
node = ts21.factory.createNull();
|
|
2717
|
+
} else if (typeof ast.value === "string") {
|
|
2718
|
+
node = ts21.factory.createStringLiteral(ast.value);
|
|
2719
|
+
} else if (typeof ast.value === "number") {
|
|
2720
|
+
node = ts21.factory.createNumericLiteral(ast.value);
|
|
2721
|
+
} else if (typeof ast.value === "boolean") {
|
|
2722
|
+
node = ast.value ? ts21.factory.createTrue() : ts21.factory.createFalse();
|
|
3168
2723
|
} else {
|
|
3169
|
-
|
|
2724
|
+
throw Error(`Unsupported AST value of type ${typeof ast.value}`);
|
|
3170
2725
|
}
|
|
3171
2726
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3172
2727
|
return node;
|
|
3173
2728
|
}
|
|
3174
2729
|
visitNonNullAssert(ast) {
|
|
3175
2730
|
const expr = wrapForDiagnostics(this.translate(ast.expression));
|
|
3176
|
-
const node =
|
|
2731
|
+
const node = ts21.factory.createNonNullExpression(expr);
|
|
3177
2732
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3178
2733
|
return node;
|
|
3179
2734
|
}
|
|
@@ -3182,13 +2737,13 @@ var AstTranslator = class {
|
|
|
3182
2737
|
}
|
|
3183
2738
|
visitPrefixNot(ast) {
|
|
3184
2739
|
const expression = wrapForDiagnostics(this.translate(ast.expression));
|
|
3185
|
-
const node =
|
|
2740
|
+
const node = ts21.factory.createLogicalNot(expression);
|
|
3186
2741
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3187
2742
|
return node;
|
|
3188
2743
|
}
|
|
3189
2744
|
visitPropertyRead(ast) {
|
|
3190
2745
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3191
|
-
const name =
|
|
2746
|
+
const name = ts21.factory.createPropertyAccessExpression(receiver, ast.name);
|
|
3192
2747
|
addParseSpanInfo(name, ast.nameSpan);
|
|
3193
2748
|
const node = wrapForDiagnostics(name);
|
|
3194
2749
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
@@ -3196,12 +2751,12 @@ var AstTranslator = class {
|
|
|
3196
2751
|
}
|
|
3197
2752
|
visitPropertyWrite(ast) {
|
|
3198
2753
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3199
|
-
const left =
|
|
2754
|
+
const left = ts21.factory.createPropertyAccessExpression(receiver, ast.name);
|
|
3200
2755
|
addParseSpanInfo(left, ast.nameSpan);
|
|
3201
2756
|
const leftWithPath = wrapForDiagnostics(left);
|
|
3202
2757
|
addParseSpanInfo(leftWithPath, ast.sourceSpan);
|
|
3203
2758
|
const right = wrapForTypeChecker(this.translate(ast.value));
|
|
3204
|
-
const node = wrapForDiagnostics(
|
|
2759
|
+
const node = wrapForDiagnostics(ts21.factory.createBinaryExpression(leftWithPath, ts21.SyntaxKind.EqualsToken, right));
|
|
3205
2760
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3206
2761
|
return node;
|
|
3207
2762
|
}
|
|
@@ -3209,13 +2764,13 @@ var AstTranslator = class {
|
|
|
3209
2764
|
let node;
|
|
3210
2765
|
const receiver = wrapForDiagnostics(this.translate(ast.receiver));
|
|
3211
2766
|
if (this.config.strictSafeNavigationTypes) {
|
|
3212
|
-
const expr =
|
|
2767
|
+
const expr = ts21.factory.createPropertyAccessExpression(ts21.factory.createNonNullExpression(receiver), ast.name);
|
|
3213
2768
|
addParseSpanInfo(expr, ast.nameSpan);
|
|
3214
|
-
node =
|
|
2769
|
+
node = ts21.factory.createParenthesizedExpression(ts21.factory.createConditionalExpression(NULL_AS_ANY, void 0, expr, void 0, UNDEFINED));
|
|
3215
2770
|
} else if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
|
|
3216
|
-
node =
|
|
2771
|
+
node = ts21.factory.createPropertyAccessExpression(tsCastToAny(receiver), ast.name);
|
|
3217
2772
|
} else {
|
|
3218
|
-
const expr =
|
|
2773
|
+
const expr = ts21.factory.createPropertyAccessExpression(ts21.factory.createNonNullExpression(receiver), ast.name);
|
|
3219
2774
|
addParseSpanInfo(expr, ast.nameSpan);
|
|
3220
2775
|
node = tsCastToAny(expr);
|
|
3221
2776
|
}
|
|
@@ -3227,13 +2782,13 @@ var AstTranslator = class {
|
|
|
3227
2782
|
const key = this.translate(ast.key);
|
|
3228
2783
|
let node;
|
|
3229
2784
|
if (this.config.strictSafeNavigationTypes) {
|
|
3230
|
-
const expr =
|
|
2785
|
+
const expr = ts21.factory.createElementAccessExpression(ts21.factory.createNonNullExpression(receiver), key);
|
|
3231
2786
|
addParseSpanInfo(expr, ast.sourceSpan);
|
|
3232
|
-
node =
|
|
2787
|
+
node = ts21.factory.createParenthesizedExpression(ts21.factory.createConditionalExpression(NULL_AS_ANY, void 0, expr, void 0, UNDEFINED));
|
|
3233
2788
|
} else if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
|
|
3234
|
-
node =
|
|
2789
|
+
node = ts21.factory.createElementAccessExpression(tsCastToAny(receiver), key);
|
|
3235
2790
|
} else {
|
|
3236
|
-
const expr =
|
|
2791
|
+
const expr = ts21.factory.createElementAccessExpression(ts21.factory.createNonNullExpression(receiver), key);
|
|
3237
2792
|
addParseSpanInfo(expr, ast.sourceSpan);
|
|
3238
2793
|
node = tsCastToAny(expr);
|
|
3239
2794
|
}
|
|
@@ -3250,7 +2805,7 @@ var AstTranslator = class {
|
|
|
3250
2805
|
expr = resolved;
|
|
3251
2806
|
} else {
|
|
3252
2807
|
const propertyReceiver = wrapForDiagnostics(this.translate(receiver.receiver));
|
|
3253
|
-
expr =
|
|
2808
|
+
expr = ts21.factory.createPropertyAccessExpression(propertyReceiver, receiver.name);
|
|
3254
2809
|
addParseSpanInfo(expr, receiver.nameSpan);
|
|
3255
2810
|
}
|
|
3256
2811
|
} else {
|
|
@@ -3260,7 +2815,7 @@ var AstTranslator = class {
|
|
|
3260
2815
|
if (ast.receiver instanceof SafePropertyRead2 || ast.receiver instanceof SafeKeyedRead) {
|
|
3261
2816
|
node = this.convertToSafeCall(ast, expr, args);
|
|
3262
2817
|
} else {
|
|
3263
|
-
node =
|
|
2818
|
+
node = ts21.factory.createCallExpression(expr, void 0, args);
|
|
3264
2819
|
}
|
|
3265
2820
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
3266
2821
|
return node;
|
|
@@ -3274,13 +2829,13 @@ var AstTranslator = class {
|
|
|
3274
2829
|
}
|
|
3275
2830
|
convertToSafeCall(ast, expr, args) {
|
|
3276
2831
|
if (this.config.strictSafeNavigationTypes) {
|
|
3277
|
-
const call =
|
|
3278
|
-
return
|
|
2832
|
+
const call = ts21.factory.createCallExpression(ts21.factory.createNonNullExpression(expr), void 0, args);
|
|
2833
|
+
return ts21.factory.createParenthesizedExpression(ts21.factory.createConditionalExpression(NULL_AS_ANY, void 0, call, void 0, UNDEFINED));
|
|
3279
2834
|
}
|
|
3280
2835
|
if (VeSafeLhsInferenceBugDetector.veWillInferAnyFor(ast)) {
|
|
3281
|
-
return
|
|
2836
|
+
return ts21.factory.createCallExpression(tsCastToAny(expr), void 0, args);
|
|
3282
2837
|
}
|
|
3283
|
-
return tsCastToAny(
|
|
2838
|
+
return tsCastToAny(ts21.factory.createCallExpression(ts21.factory.createNonNullExpression(expr), void 0, args));
|
|
3284
2839
|
}
|
|
3285
2840
|
};
|
|
3286
2841
|
var VeSafeLhsInferenceBugDetector = class {
|
|
@@ -3354,7 +2909,7 @@ var VeSafeLhsInferenceBugDetector = class {
|
|
|
3354
2909
|
};
|
|
3355
2910
|
VeSafeLhsInferenceBugDetector.SINGLETON = new VeSafeLhsInferenceBugDetector();
|
|
3356
2911
|
|
|
3357
|
-
// bazel-out/
|
|
2912
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_semantics.mjs
|
|
3358
2913
|
import { ImplicitReceiver as ImplicitReceiver3, RecursiveAstVisitor as RecursiveAstVisitor2, TmplAstVariable } from "@angular/compiler";
|
|
3359
2914
|
var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
|
|
3360
2915
|
constructor(templateId, boundTarget, oob) {
|
|
@@ -3378,7 +2933,7 @@ var ExpressionSemanticVisitor = class extends RecursiveAstVisitor2 {
|
|
|
3378
2933
|
}
|
|
3379
2934
|
};
|
|
3380
2935
|
|
|
3381
|
-
// bazel-out/
|
|
2936
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_block.mjs
|
|
3382
2937
|
var TcbGenericContextBehavior;
|
|
3383
2938
|
(function(TcbGenericContextBehavior2) {
|
|
3384
2939
|
TcbGenericContextBehavior2[TcbGenericContextBehavior2["UseEmitter"] = 0] = "UseEmitter";
|
|
@@ -3389,7 +2944,7 @@ function generateTypeCheckBlock(env, ref, name, meta, domSchemaChecker, oobRecor
|
|
|
3389
2944
|
const tcb = new Context(env, domSchemaChecker, oobRecorder, meta.id, meta.boundTarget, meta.pipes, meta.schemas);
|
|
3390
2945
|
const scope = Scope.forNodes(tcb, null, tcb.boundTarget.target.template, null);
|
|
3391
2946
|
const ctxRawType = env.referenceType(ref);
|
|
3392
|
-
if (!
|
|
2947
|
+
if (!ts22.isTypeReferenceNode(ctxRawType)) {
|
|
3393
2948
|
throw new Error(`Expected TypeReferenceNode when referencing the ctx param for ${ref.debugName}`);
|
|
3394
2949
|
}
|
|
3395
2950
|
let typeParameters = void 0;
|
|
@@ -3401,25 +2956,25 @@ function generateTypeCheckBlock(env, ref, name, meta, domSchemaChecker, oobRecor
|
|
|
3401
2956
|
switch (genericContextBehavior) {
|
|
3402
2957
|
case TcbGenericContextBehavior.UseEmitter:
|
|
3403
2958
|
typeParameters = new TypeParameterEmitter(ref.node.typeParameters, env.reflector).emit((typeRef) => env.referenceType(typeRef));
|
|
3404
|
-
typeArguments = typeParameters.map((param) =>
|
|
2959
|
+
typeArguments = typeParameters.map((param) => ts22.factory.createTypeReferenceNode(param.name));
|
|
3405
2960
|
break;
|
|
3406
2961
|
case TcbGenericContextBehavior.CopyClassNodes:
|
|
3407
2962
|
typeParameters = [...ref.node.typeParameters];
|
|
3408
|
-
typeArguments = typeParameters.map((param) =>
|
|
2963
|
+
typeArguments = typeParameters.map((param) => ts22.factory.createTypeReferenceNode(param.name));
|
|
3409
2964
|
break;
|
|
3410
2965
|
case TcbGenericContextBehavior.FallbackToAny:
|
|
3411
|
-
typeArguments = ref.node.typeParameters.map(() =>
|
|
2966
|
+
typeArguments = ref.node.typeParameters.map(() => ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword));
|
|
3412
2967
|
break;
|
|
3413
2968
|
}
|
|
3414
2969
|
}
|
|
3415
2970
|
const paramList = [tcbCtxParam(ref.node, ctxRawType.typeName, typeArguments)];
|
|
3416
2971
|
const scopeStatements = scope.render();
|
|
3417
|
-
const innerBody =
|
|
2972
|
+
const innerBody = ts22.factory.createBlock([
|
|
3418
2973
|
...env.getPreludeStatements(),
|
|
3419
2974
|
...scopeStatements
|
|
3420
2975
|
]);
|
|
3421
|
-
const body =
|
|
3422
|
-
const fnDecl =
|
|
2976
|
+
const body = ts22.factory.createBlock([ts22.factory.createIfStatement(ts22.factory.createTrue(), innerBody, void 0)]);
|
|
2977
|
+
const fnDecl = ts22.factory.createFunctionDeclaration(void 0, void 0, void 0, name, env.config.useContextGenericType ? typeParameters : void 0, paramList, void 0, body);
|
|
3423
2978
|
addTemplateId(fnDecl, meta.id);
|
|
3424
2979
|
return fnDecl;
|
|
3425
2980
|
}
|
|
@@ -3460,7 +3015,7 @@ var TcbVariableOp = class extends TcbOp {
|
|
|
3460
3015
|
execute() {
|
|
3461
3016
|
const ctx = this.scope.resolve(this.template);
|
|
3462
3017
|
const id = this.tcb.allocateId();
|
|
3463
|
-
const initializer =
|
|
3018
|
+
const initializer = ts22.factory.createPropertyAccessExpression(ctx, this.variable.value || "$implicit");
|
|
3464
3019
|
addParseSpanInfo(id, this.variable.keySpan);
|
|
3465
3020
|
let variable;
|
|
3466
3021
|
if (this.variable.valueSpan !== void 0) {
|
|
@@ -3483,7 +3038,7 @@ var TcbTemplateContextOp = class extends TcbOp {
|
|
|
3483
3038
|
}
|
|
3484
3039
|
execute() {
|
|
3485
3040
|
const ctx = this.tcb.allocateId();
|
|
3486
|
-
const type =
|
|
3041
|
+
const type = ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword);
|
|
3487
3042
|
this.scope.addStatement(tsDeclareVariable(ctx, type));
|
|
3488
3043
|
return ctx;
|
|
3489
3044
|
}
|
|
@@ -3536,16 +3091,16 @@ var TcbTemplateBodyOp = class extends TcbOp {
|
|
|
3536
3091
|
}
|
|
3537
3092
|
let guard = null;
|
|
3538
3093
|
if (directiveGuards.length > 0) {
|
|
3539
|
-
guard = directiveGuards.reduce((expr, dirGuard) =>
|
|
3094
|
+
guard = directiveGuards.reduce((expr, dirGuard) => ts22.factory.createBinaryExpression(expr, ts22.SyntaxKind.AmpersandAmpersandToken, dirGuard), directiveGuards.pop());
|
|
3540
3095
|
}
|
|
3541
3096
|
const tmplScope = Scope.forNodes(this.tcb, this.scope, this.template, guard);
|
|
3542
3097
|
const statements = tmplScope.render();
|
|
3543
3098
|
if (statements.length === 0) {
|
|
3544
3099
|
return null;
|
|
3545
3100
|
}
|
|
3546
|
-
let tmplBlock =
|
|
3101
|
+
let tmplBlock = ts22.factory.createBlock(statements);
|
|
3547
3102
|
if (guard !== null) {
|
|
3548
|
-
tmplBlock =
|
|
3103
|
+
tmplBlock = ts22.factory.createIfStatement(guard, tmplBlock);
|
|
3549
3104
|
}
|
|
3550
3105
|
this.scope.addStatement(tmplBlock);
|
|
3551
3106
|
return null;
|
|
@@ -3563,7 +3118,7 @@ var TcbTextInterpolationOp = class extends TcbOp {
|
|
|
3563
3118
|
}
|
|
3564
3119
|
execute() {
|
|
3565
3120
|
const expr = tcbExpression(this.binding.value, this.tcb, this.scope);
|
|
3566
|
-
this.scope.addStatement(
|
|
3121
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(expr));
|
|
3567
3122
|
return null;
|
|
3568
3123
|
}
|
|
3569
3124
|
};
|
|
@@ -3585,11 +3140,11 @@ var TcbDirectiveTypeOpBase = class extends TcbOp {
|
|
|
3585
3140
|
if (this.dir.isGeneric === false || dirRef.node.typeParameters === void 0) {
|
|
3586
3141
|
type = rawType;
|
|
3587
3142
|
} else {
|
|
3588
|
-
if (!
|
|
3143
|
+
if (!ts22.isTypeReferenceNode(rawType)) {
|
|
3589
3144
|
throw new Error(`Expected TypeReferenceNode when referencing the type for ${this.dir.ref.debugName}`);
|
|
3590
3145
|
}
|
|
3591
|
-
const typeArguments = dirRef.node.typeParameters.map(() =>
|
|
3592
|
-
type =
|
|
3146
|
+
const typeArguments = dirRef.node.typeParameters.map(() => ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword));
|
|
3147
|
+
type = ts22.factory.createTypeReferenceNode(rawType.typeName, typeArguments);
|
|
3593
3148
|
}
|
|
3594
3149
|
const id = this.tcb.allocateId();
|
|
3595
3150
|
addExpressionIdentifier(type, ExpressionIdentifier.DIRECTIVE);
|
|
@@ -3630,11 +3185,11 @@ var TcbReferenceOp = class extends TcbOp {
|
|
|
3630
3185
|
const id = this.tcb.allocateId();
|
|
3631
3186
|
let initializer = this.target instanceof TmplAstTemplate2 || this.target instanceof TmplAstElement3 ? this.scope.resolve(this.target) : this.scope.resolve(this.host, this.target);
|
|
3632
3187
|
if (this.target instanceof TmplAstElement3 && !this.tcb.env.config.checkTypeOfDomReferences || !this.tcb.env.config.checkTypeOfNonDomReferences) {
|
|
3633
|
-
initializer =
|
|
3188
|
+
initializer = ts22.factory.createAsExpression(initializer, ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword));
|
|
3634
3189
|
} else if (this.target instanceof TmplAstTemplate2) {
|
|
3635
|
-
initializer =
|
|
3636
|
-
initializer =
|
|
3637
|
-
initializer =
|
|
3190
|
+
initializer = ts22.factory.createAsExpression(initializer, ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword));
|
|
3191
|
+
initializer = ts22.factory.createAsExpression(initializer, this.tcb.env.referenceExternalType("@angular/core", "TemplateRef", [DYNAMIC_TYPE]));
|
|
3192
|
+
initializer = ts22.factory.createParenthesizedExpression(initializer);
|
|
3638
3193
|
}
|
|
3639
3194
|
addParseSpanInfo(initializer, this.node.sourceSpan);
|
|
3640
3195
|
addParseSpanInfo(id, this.node.keySpan);
|
|
@@ -3724,7 +3279,7 @@ var TcbDirectiveInputsOp = class extends TcbOp {
|
|
|
3724
3279
|
let target;
|
|
3725
3280
|
if (this.dir.coercedInputFields.has(fieldName)) {
|
|
3726
3281
|
const dirTypeRef = this.tcb.env.referenceType(this.dir.ref);
|
|
3727
|
-
if (!
|
|
3282
|
+
if (!ts22.isTypeReferenceNode(dirTypeRef)) {
|
|
3728
3283
|
throw new Error(`Expected TypeReferenceNode from reference to ${this.dir.ref.debugName}`);
|
|
3729
3284
|
}
|
|
3730
3285
|
const id = this.tcb.allocateId();
|
|
@@ -3739,10 +3294,10 @@ var TcbDirectiveInputsOp = class extends TcbOp {
|
|
|
3739
3294
|
}
|
|
3740
3295
|
const id = this.tcb.allocateId();
|
|
3741
3296
|
const dirTypeRef = this.tcb.env.referenceType(this.dir.ref);
|
|
3742
|
-
if (!
|
|
3297
|
+
if (!ts22.isTypeReferenceNode(dirTypeRef)) {
|
|
3743
3298
|
throw new Error(`Expected TypeReferenceNode from reference to ${this.dir.ref.debugName}`);
|
|
3744
3299
|
}
|
|
3745
|
-
const type =
|
|
3300
|
+
const type = ts22.factory.createIndexedAccessTypeNode(ts22.factory.createTypeQueryNode(dirId), ts22.factory.createLiteralTypeNode(ts22.factory.createStringLiteral(fieldName)));
|
|
3746
3301
|
const temp = tsDeclareVariable(id, type);
|
|
3747
3302
|
this.scope.addStatement(temp);
|
|
3748
3303
|
target = id;
|
|
@@ -3750,18 +3305,18 @@ var TcbDirectiveInputsOp = class extends TcbOp {
|
|
|
3750
3305
|
if (dirId === null) {
|
|
3751
3306
|
dirId = this.scope.resolve(this.node, this.dir);
|
|
3752
3307
|
}
|
|
3753
|
-
target = this.dir.stringLiteralInputFields.has(fieldName) ?
|
|
3308
|
+
target = this.dir.stringLiteralInputFields.has(fieldName) ? ts22.factory.createElementAccessExpression(dirId, ts22.factory.createStringLiteral(fieldName)) : ts22.factory.createPropertyAccessExpression(dirId, ts22.factory.createIdentifier(fieldName));
|
|
3754
3309
|
}
|
|
3755
3310
|
if (input.attribute.keySpan !== void 0) {
|
|
3756
3311
|
addParseSpanInfo(target, input.attribute.keySpan);
|
|
3757
3312
|
}
|
|
3758
|
-
assignment =
|
|
3313
|
+
assignment = ts22.factory.createBinaryExpression(target, ts22.SyntaxKind.EqualsToken, assignment);
|
|
3759
3314
|
}
|
|
3760
3315
|
addParseSpanInfo(assignment, input.attribute.sourceSpan);
|
|
3761
3316
|
if (!this.tcb.env.config.checkTypeOfAttributes && input.attribute instanceof TmplAstTextAttribute2) {
|
|
3762
3317
|
markIgnoreDiagnostics(assignment);
|
|
3763
3318
|
}
|
|
3764
|
-
this.scope.addStatement(
|
|
3319
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(assignment));
|
|
3765
3320
|
}
|
|
3766
3321
|
return null;
|
|
3767
3322
|
}
|
|
@@ -3780,7 +3335,7 @@ var TcbDirectiveCtorCircularFallbackOp = class extends TcbOp {
|
|
|
3780
3335
|
execute() {
|
|
3781
3336
|
const id = this.tcb.allocateId();
|
|
3782
3337
|
const typeCtor = this.tcb.env.typeCtorFor(this.dir);
|
|
3783
|
-
const circularPlaceholder =
|
|
3338
|
+
const circularPlaceholder = ts22.factory.createCallExpression(typeCtor, void 0, [ts22.factory.createNonNullExpression(ts22.factory.createNull())]);
|
|
3784
3339
|
this.scope.addStatement(tsCreateVariable(id, circularPlaceholder));
|
|
3785
3340
|
return id;
|
|
3786
3341
|
}
|
|
@@ -3846,15 +3401,15 @@ var TcbUnclaimedInputsOp = class extends TcbOp {
|
|
|
3846
3401
|
elId = this.scope.resolve(this.element);
|
|
3847
3402
|
}
|
|
3848
3403
|
const propertyName = ATTR_TO_PROP[binding.name] || binding.name;
|
|
3849
|
-
const prop =
|
|
3850
|
-
const stmt =
|
|
3404
|
+
const prop = ts22.factory.createElementAccessExpression(elId, ts22.factory.createStringLiteral(propertyName));
|
|
3405
|
+
const stmt = ts22.factory.createBinaryExpression(prop, ts22.SyntaxKind.EqualsToken, wrapForDiagnostics(expr));
|
|
3851
3406
|
addParseSpanInfo(stmt, binding.sourceSpan);
|
|
3852
|
-
this.scope.addStatement(
|
|
3407
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(stmt));
|
|
3853
3408
|
} else {
|
|
3854
|
-
this.scope.addStatement(
|
|
3409
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(expr));
|
|
3855
3410
|
}
|
|
3856
3411
|
} else {
|
|
3857
|
-
this.scope.addStatement(
|
|
3412
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(expr));
|
|
3858
3413
|
}
|
|
3859
3414
|
}
|
|
3860
3415
|
return null;
|
|
@@ -3886,18 +3441,18 @@ var TcbDirectiveOutputsOp = class extends TcbOp {
|
|
|
3886
3441
|
if (dirId === null) {
|
|
3887
3442
|
dirId = this.scope.resolve(this.node, this.dir);
|
|
3888
3443
|
}
|
|
3889
|
-
const outputField =
|
|
3444
|
+
const outputField = ts22.factory.createElementAccessExpression(dirId, ts22.factory.createStringLiteral(field));
|
|
3890
3445
|
addParseSpanInfo(outputField, output.keySpan);
|
|
3891
3446
|
if (this.tcb.env.config.checkTypeOfOutputEvents) {
|
|
3892
3447
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 0);
|
|
3893
|
-
const subscribeFn =
|
|
3894
|
-
const call =
|
|
3448
|
+
const subscribeFn = ts22.factory.createPropertyAccessExpression(outputField, "subscribe");
|
|
3449
|
+
const call = ts22.factory.createCallExpression(subscribeFn, void 0, [handler]);
|
|
3895
3450
|
addParseSpanInfo(call, output.sourceSpan);
|
|
3896
|
-
this.scope.addStatement(
|
|
3451
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(call));
|
|
3897
3452
|
} else {
|
|
3898
|
-
this.scope.addStatement(
|
|
3453
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(outputField));
|
|
3899
3454
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 1);
|
|
3900
|
-
this.scope.addStatement(
|
|
3455
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(handler));
|
|
3901
3456
|
}
|
|
3902
3457
|
ExpressionSemanticVisitor.visit(output.handler, this.tcb.id, this.tcb.boundTarget, this.tcb.oobRecorder);
|
|
3903
3458
|
}
|
|
@@ -3930,20 +3485,20 @@ var TcbUnclaimedOutputsOp = class extends TcbOp {
|
|
|
3930
3485
|
if (output.type === 1) {
|
|
3931
3486
|
const eventType = this.tcb.env.config.checkTypeOfAnimationEvents ? this.tcb.env.referenceExternalType("@angular/animations", "AnimationEvent") : 1;
|
|
3932
3487
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, eventType);
|
|
3933
|
-
this.scope.addStatement(
|
|
3488
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(handler));
|
|
3934
3489
|
} else if (this.tcb.env.config.checkTypeOfDomEvents) {
|
|
3935
3490
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 0);
|
|
3936
3491
|
if (elId === null) {
|
|
3937
3492
|
elId = this.scope.resolve(this.element);
|
|
3938
3493
|
}
|
|
3939
|
-
const propertyAccess =
|
|
3494
|
+
const propertyAccess = ts22.factory.createPropertyAccessExpression(elId, "addEventListener");
|
|
3940
3495
|
addParseSpanInfo(propertyAccess, output.keySpan);
|
|
3941
|
-
const call =
|
|
3496
|
+
const call = ts22.factory.createCallExpression(propertyAccess, void 0, [ts22.factory.createStringLiteral(output.name), handler]);
|
|
3942
3497
|
addParseSpanInfo(call, output.sourceSpan);
|
|
3943
|
-
this.scope.addStatement(
|
|
3498
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(call));
|
|
3944
3499
|
} else {
|
|
3945
3500
|
const handler = tcbCreateEventHandler(output, this.tcb, this.scope, 1);
|
|
3946
|
-
this.scope.addStatement(
|
|
3501
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(handler));
|
|
3947
3502
|
}
|
|
3948
3503
|
ExpressionSemanticVisitor.visit(output.handler, this.tcb.id, this.tcb.boundTarget, this.tcb.oobRecorder);
|
|
3949
3504
|
}
|
|
@@ -3957,15 +3512,15 @@ var TcbComponentContextCompletionOp = class extends TcbOp {
|
|
|
3957
3512
|
this.optional = false;
|
|
3958
3513
|
}
|
|
3959
3514
|
execute() {
|
|
3960
|
-
const ctx =
|
|
3961
|
-
const ctxDot =
|
|
3515
|
+
const ctx = ts22.factory.createIdentifier("ctx");
|
|
3516
|
+
const ctxDot = ts22.factory.createPropertyAccessExpression(ctx, "");
|
|
3962
3517
|
markIgnoreDiagnostics(ctxDot);
|
|
3963
3518
|
addExpressionIdentifier(ctxDot, ExpressionIdentifier.COMPONENT_COMPLETION);
|
|
3964
|
-
this.scope.addStatement(
|
|
3519
|
+
this.scope.addStatement(ts22.factory.createExpressionStatement(ctxDot));
|
|
3965
3520
|
return null;
|
|
3966
3521
|
}
|
|
3967
3522
|
};
|
|
3968
|
-
var INFER_TYPE_FOR_CIRCULAR_OP_EXPR =
|
|
3523
|
+
var INFER_TYPE_FOR_CIRCULAR_OP_EXPR = ts22.factory.createNonNullExpression(ts22.factory.createNull());
|
|
3969
3524
|
var Context = class {
|
|
3970
3525
|
constructor(env, domSchemaChecker, oobRecorder, id, boundTarget, pipes, schemas) {
|
|
3971
3526
|
this.env = env;
|
|
@@ -3978,7 +3533,7 @@ var Context = class {
|
|
|
3978
3533
|
this.nextId = 1;
|
|
3979
3534
|
}
|
|
3980
3535
|
allocateId() {
|
|
3981
|
-
return
|
|
3536
|
+
return ts22.factory.createIdentifier(`_t${this.nextId++}`);
|
|
3982
3537
|
}
|
|
3983
3538
|
getPipeByName(name) {
|
|
3984
3539
|
if (!this.pipes.has(name)) {
|
|
@@ -4030,8 +3585,8 @@ var Scope = class {
|
|
|
4030
3585
|
resolve(node, directive) {
|
|
4031
3586
|
const res = this.resolveLocal(node, directive);
|
|
4032
3587
|
if (res !== null) {
|
|
4033
|
-
const clone =
|
|
4034
|
-
|
|
3588
|
+
const clone = ts22.getMutableClone(res);
|
|
3589
|
+
ts22.setSyntheticTrailingComments(clone, []);
|
|
4035
3590
|
return clone;
|
|
4036
3591
|
} else if (this.parent !== null) {
|
|
4037
3592
|
return this.parent.resolve(node, directive);
|
|
@@ -4059,7 +3614,7 @@ var Scope = class {
|
|
|
4059
3614
|
} else if (parentGuards === null) {
|
|
4060
3615
|
return this.guard;
|
|
4061
3616
|
} else {
|
|
4062
|
-
return
|
|
3617
|
+
return ts22.factory.createBinaryExpression(parentGuards, ts22.SyntaxKind.AmpersandAmpersandToken, this.guard);
|
|
4063
3618
|
}
|
|
4064
3619
|
}
|
|
4065
3620
|
resolveLocal(ref, directive) {
|
|
@@ -4239,8 +3794,8 @@ var Scope = class {
|
|
|
4239
3794
|
}
|
|
4240
3795
|
};
|
|
4241
3796
|
function tcbCtxParam(node, name, typeArguments) {
|
|
4242
|
-
const type =
|
|
4243
|
-
return
|
|
3797
|
+
const type = ts22.factory.createTypeReferenceNode(name, typeArguments);
|
|
3798
|
+
return ts22.factory.createParameterDeclaration(void 0, void 0, void 0, "ctx", void 0, type, void 0);
|
|
4244
3799
|
}
|
|
4245
3800
|
function tcbExpression(ast, tcb, scope) {
|
|
4246
3801
|
const translator = new TcbExpressionTranslator(tcb, scope);
|
|
@@ -4263,11 +3818,11 @@ var TcbExpressionTranslator = class {
|
|
|
4263
3818
|
return null;
|
|
4264
3819
|
}
|
|
4265
3820
|
const expr = this.translate(ast.value);
|
|
4266
|
-
const result =
|
|
3821
|
+
const result = ts22.factory.createParenthesizedExpression(ts22.factory.createBinaryExpression(target, ts22.SyntaxKind.EqualsToken, expr));
|
|
4267
3822
|
addParseSpanInfo(result, ast.sourceSpan);
|
|
4268
3823
|
return result;
|
|
4269
3824
|
} else if (ast instanceof ImplicitReceiver4) {
|
|
4270
|
-
return
|
|
3825
|
+
return ts22.factory.createIdentifier("ctx");
|
|
4271
3826
|
} else if (ast instanceof BindingPipe) {
|
|
4272
3827
|
const expr = this.translate(ast.exp);
|
|
4273
3828
|
const pipeRef = this.tcb.getPipeByName(ast.name);
|
|
@@ -4279,19 +3834,19 @@ var TcbExpressionTranslator = class {
|
|
|
4279
3834
|
pipe = this.tcb.env.pipeInst(pipeRef);
|
|
4280
3835
|
}
|
|
4281
3836
|
const args = ast.args.map((arg) => this.translate(arg));
|
|
4282
|
-
let methodAccess =
|
|
3837
|
+
let methodAccess = ts22.factory.createPropertyAccessExpression(pipe, "transform");
|
|
4283
3838
|
addParseSpanInfo(methodAccess, ast.nameSpan);
|
|
4284
3839
|
if (!this.tcb.env.config.checkTypeOfPipes) {
|
|
4285
|
-
methodAccess =
|
|
3840
|
+
methodAccess = ts22.factory.createAsExpression(methodAccess, ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword));
|
|
4286
3841
|
}
|
|
4287
|
-
const result =
|
|
3842
|
+
const result = ts22.factory.createCallExpression(methodAccess, void 0, [expr, ...args]);
|
|
4288
3843
|
addParseSpanInfo(result, ast.sourceSpan);
|
|
4289
3844
|
return result;
|
|
4290
3845
|
} else if ((ast instanceof Call2 || ast instanceof SafeCall) && (ast.receiver instanceof PropertyRead4 || ast.receiver instanceof SafePropertyRead3)) {
|
|
4291
3846
|
if (ast.receiver.receiver instanceof ImplicitReceiver4 && !(ast.receiver.receiver instanceof ThisReceiver) && ast.receiver.name === "$any" && ast.args.length === 1) {
|
|
4292
3847
|
const expr = this.translate(ast.args[0]);
|
|
4293
|
-
const exprAsAny =
|
|
4294
|
-
const result =
|
|
3848
|
+
const exprAsAny = ts22.factory.createAsExpression(expr, ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword));
|
|
3849
|
+
const result = ts22.factory.createParenthesizedExpression(exprAsAny);
|
|
4295
3850
|
addParseSpanInfo(result, ast.sourceSpan);
|
|
4296
3851
|
return result;
|
|
4297
3852
|
}
|
|
@@ -4302,7 +3857,7 @@ var TcbExpressionTranslator = class {
|
|
|
4302
3857
|
const method = wrapForDiagnostics(receiver);
|
|
4303
3858
|
addParseSpanInfo(method, ast.receiver.nameSpan);
|
|
4304
3859
|
const args = ast.args.map((arg) => this.translate(arg));
|
|
4305
|
-
const node =
|
|
3860
|
+
const node = ts22.factory.createCallExpression(method, void 0, args);
|
|
4306
3861
|
addParseSpanInfo(node, ast.sourceSpan);
|
|
4307
3862
|
return node;
|
|
4308
3863
|
} else {
|
|
@@ -4322,17 +3877,17 @@ var TcbExpressionTranslator = class {
|
|
|
4322
3877
|
function tcbCallTypeCtor(dir, tcb, inputs) {
|
|
4323
3878
|
const typeCtor = tcb.env.typeCtorFor(dir);
|
|
4324
3879
|
const members = inputs.map((input) => {
|
|
4325
|
-
const propertyName =
|
|
3880
|
+
const propertyName = ts22.factory.createStringLiteral(input.field);
|
|
4326
3881
|
if (input.type === "binding") {
|
|
4327
3882
|
const expr = widenBinding(input.expression, tcb);
|
|
4328
|
-
const assignment =
|
|
3883
|
+
const assignment = ts22.factory.createPropertyAssignment(propertyName, wrapForDiagnostics(expr));
|
|
4329
3884
|
addParseSpanInfo(assignment, input.sourceSpan);
|
|
4330
3885
|
return assignment;
|
|
4331
3886
|
} else {
|
|
4332
|
-
return
|
|
3887
|
+
return ts22.factory.createPropertyAssignment(propertyName, NULL_AS_ANY);
|
|
4333
3888
|
}
|
|
4334
3889
|
});
|
|
4335
|
-
return
|
|
3890
|
+
return ts22.factory.createCallExpression(typeCtor, void 0, [ts22.factory.createObjectLiteralExpression(members)]);
|
|
4336
3891
|
}
|
|
4337
3892
|
function getBoundInputs(directive, node, tcb) {
|
|
4338
3893
|
const boundInputs = [];
|
|
@@ -4358,17 +3913,17 @@ function translateInput(attr, tcb, scope) {
|
|
|
4358
3913
|
if (attr instanceof TmplAstBoundAttribute) {
|
|
4359
3914
|
return tcbExpression(attr.value, tcb, scope);
|
|
4360
3915
|
} else {
|
|
4361
|
-
return
|
|
3916
|
+
return ts22.factory.createStringLiteral(attr.value);
|
|
4362
3917
|
}
|
|
4363
3918
|
}
|
|
4364
3919
|
function widenBinding(expr, tcb) {
|
|
4365
3920
|
if (!tcb.env.config.checkTypeOfInputBindings) {
|
|
4366
3921
|
return tsCastToAny(expr);
|
|
4367
3922
|
} else if (!tcb.env.config.strictNullInputBindings) {
|
|
4368
|
-
if (
|
|
3923
|
+
if (ts22.isObjectLiteralExpression(expr) || ts22.isArrayLiteralExpression(expr)) {
|
|
4369
3924
|
return expr;
|
|
4370
3925
|
} else {
|
|
4371
|
-
return
|
|
3926
|
+
return ts22.factory.createNonNullExpression(expr);
|
|
4372
3927
|
}
|
|
4373
3928
|
} else {
|
|
4374
3929
|
return expr;
|
|
@@ -4381,18 +3936,18 @@ function tcbCreateEventHandler(event, tcb, scope, eventType) {
|
|
|
4381
3936
|
if (eventType === 0) {
|
|
4382
3937
|
eventParamType = void 0;
|
|
4383
3938
|
} else if (eventType === 1) {
|
|
4384
|
-
eventParamType =
|
|
3939
|
+
eventParamType = ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword);
|
|
4385
3940
|
} else {
|
|
4386
3941
|
eventParamType = eventType;
|
|
4387
3942
|
}
|
|
4388
3943
|
const guards = scope.guards();
|
|
4389
|
-
let body =
|
|
3944
|
+
let body = ts22.factory.createExpressionStatement(handler);
|
|
4390
3945
|
if (guards !== null) {
|
|
4391
|
-
body =
|
|
3946
|
+
body = ts22.factory.createIfStatement(guards, body);
|
|
4392
3947
|
}
|
|
4393
|
-
const eventParam =
|
|
3948
|
+
const eventParam = ts22.factory.createParameterDeclaration(void 0, void 0, void 0, EVENT_PARAMETER, void 0, eventParamType);
|
|
4394
3949
|
addExpressionIdentifier(eventParam, ExpressionIdentifier.EVENT_PARAMETER);
|
|
4395
|
-
return
|
|
3950
|
+
return ts22.factory.createFunctionExpression(void 0, void 0, void 0, void 0, [eventParam], ts22.factory.createKeywordTypeNode(ts22.SyntaxKind.AnyKeyword), ts22.factory.createBlock([body]));
|
|
4396
3951
|
}
|
|
4397
3952
|
function tcbEventHandlerExpression(ast, tcb, scope) {
|
|
4398
3953
|
const translator = new TcbEventHandlerTranslator(tcb, scope);
|
|
@@ -4420,7 +3975,7 @@ function isSplitTwoWayBinding(inputName, output, inputs, tcb) {
|
|
|
4420
3975
|
var TcbEventHandlerTranslator = class extends TcbExpressionTranslator {
|
|
4421
3976
|
resolve(ast) {
|
|
4422
3977
|
if (ast instanceof PropertyRead4 && ast.receiver instanceof ImplicitReceiver4 && !(ast.receiver instanceof ThisReceiver) && ast.name === EVENT_PARAMETER) {
|
|
4423
|
-
const event =
|
|
3978
|
+
const event = ts22.factory.createIdentifier(EVENT_PARAMETER);
|
|
4424
3979
|
addParseSpanInfo(event, ast.nameSpan);
|
|
4425
3980
|
return event;
|
|
4426
3981
|
}
|
|
@@ -4428,33 +3983,33 @@ var TcbEventHandlerTranslator = class extends TcbExpressionTranslator {
|
|
|
4428
3983
|
}
|
|
4429
3984
|
};
|
|
4430
3985
|
|
|
4431
|
-
// bazel-out/
|
|
4432
|
-
import
|
|
3986
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/type_check_file.mjs
|
|
3987
|
+
import ts23 from "typescript";
|
|
4433
3988
|
var TypeCheckFile = class extends Environment {
|
|
4434
3989
|
constructor(fileName, config, refEmitter, reflector, compilerHost) {
|
|
4435
|
-
super(config, new ImportManager(new NoopImportRewriter(), "i"), refEmitter, reflector,
|
|
3990
|
+
super(config, new ImportManager(new NoopImportRewriter(), "i"), refEmitter, reflector, ts23.createSourceFile(compilerHost.getCanonicalFileName(fileName), "", ts23.ScriptTarget.Latest, true));
|
|
4436
3991
|
this.fileName = fileName;
|
|
4437
3992
|
this.nextTcbId = 1;
|
|
4438
3993
|
this.tcbStatements = [];
|
|
4439
3994
|
}
|
|
4440
3995
|
addTypeCheckBlock(ref, meta, domSchemaChecker, oobRecorder, genericContextBehavior) {
|
|
4441
|
-
const fnId =
|
|
3996
|
+
const fnId = ts23.factory.createIdentifier(`_tcb${this.nextTcbId++}`);
|
|
4442
3997
|
const fn = generateTypeCheckBlock(this, ref, fnId, meta, domSchemaChecker, oobRecorder, genericContextBehavior);
|
|
4443
3998
|
this.tcbStatements.push(fn);
|
|
4444
3999
|
}
|
|
4445
4000
|
render(removeComments) {
|
|
4446
4001
|
let source = this.importManager.getAllImports(this.contextFile.fileName).map((i) => `import * as ${i.qualifier.text} from '${i.specifier}';`).join("\n") + "\n\n";
|
|
4447
|
-
const printer =
|
|
4002
|
+
const printer = ts23.createPrinter({ removeComments });
|
|
4448
4003
|
source += "\n";
|
|
4449
4004
|
for (const stmt of this.pipeInstStatements) {
|
|
4450
|
-
source += printer.printNode(
|
|
4005
|
+
source += printer.printNode(ts23.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
|
|
4451
4006
|
}
|
|
4452
4007
|
for (const stmt of this.typeCtorStatements) {
|
|
4453
|
-
source += printer.printNode(
|
|
4008
|
+
source += printer.printNode(ts23.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
|
|
4454
4009
|
}
|
|
4455
4010
|
source += "\n";
|
|
4456
4011
|
for (const stmt of this.tcbStatements) {
|
|
4457
|
-
source += printer.printNode(
|
|
4012
|
+
source += printer.printNode(ts23.EmitHint.Unspecified, stmt, this.contextFile) + "\n";
|
|
4458
4013
|
}
|
|
4459
4014
|
source += "\nexport const IS_A_MODULE = true;\n";
|
|
4460
4015
|
return source;
|
|
@@ -4464,7 +4019,7 @@ var TypeCheckFile = class extends Environment {
|
|
|
4464
4019
|
}
|
|
4465
4020
|
};
|
|
4466
4021
|
|
|
4467
|
-
// bazel-out/
|
|
4022
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/context.mjs
|
|
4468
4023
|
var InliningMode;
|
|
4469
4024
|
(function(InliningMode2) {
|
|
4470
4025
|
InliningMode2[InliningMode2["InlineOps"] = 0] = "InlineOps";
|
|
@@ -4562,7 +4117,7 @@ var TypeCheckContextImpl = class {
|
|
|
4562
4117
|
const importManager = new ImportManager(new NoopImportRewriter(), "_i");
|
|
4563
4118
|
const ops = this.opMap.get(sf).sort(orderOps);
|
|
4564
4119
|
const textParts = splitStringAtPoints(sf.text, ops.map((op) => op.splitPoint));
|
|
4565
|
-
const printer =
|
|
4120
|
+
const printer = ts24.createPrinter({ omitTrailingSemicolon: true });
|
|
4566
4121
|
let code = textParts[0];
|
|
4567
4122
|
ops.forEach((op, idx) => {
|
|
4568
4123
|
const text = op.execute(importManager, sf, this.refEmitter, printer);
|
|
@@ -4643,7 +4198,7 @@ var TypeCheckContextImpl = class {
|
|
|
4643
4198
|
if (span.start.offset === span.end.offset) {
|
|
4644
4199
|
span.end.offset++;
|
|
4645
4200
|
}
|
|
4646
|
-
return makeTemplateDiagnostic(templateId, sourceMapping, span,
|
|
4201
|
+
return makeTemplateDiagnostic(templateId, sourceMapping, span, ts24.DiagnosticCategory.Error, ngErrorCode(ErrorCode.TEMPLATE_PARSE_ERROR), error.msg);
|
|
4647
4202
|
});
|
|
4648
4203
|
}
|
|
4649
4204
|
};
|
|
@@ -4661,9 +4216,9 @@ var InlineTcbOp = class {
|
|
|
4661
4216
|
}
|
|
4662
4217
|
execute(im, sf, refEmitter, printer) {
|
|
4663
4218
|
const env = new Environment(this.config, im, refEmitter, this.reflector, sf);
|
|
4664
|
-
const fnName =
|
|
4219
|
+
const fnName = ts24.factory.createIdentifier(`_tcb_${this.ref.node.pos}`);
|
|
4665
4220
|
const fn = generateTypeCheckBlock(env, this.ref, fnName, this.meta, this.domSchemaChecker, this.oobRecorder, TcbGenericContextBehavior.CopyClassNodes);
|
|
4666
|
-
return printer.printNode(
|
|
4221
|
+
return printer.printNode(ts24.EmitHint.Unspecified, fn, sf);
|
|
4667
4222
|
}
|
|
4668
4223
|
};
|
|
4669
4224
|
var TypeCtorOp = class {
|
|
@@ -4676,7 +4231,7 @@ var TypeCtorOp = class {
|
|
|
4676
4231
|
}
|
|
4677
4232
|
execute(im, sf, refEmitter, printer) {
|
|
4678
4233
|
const tcb = generateInlineTypeCtor(this.ref.node, this.meta);
|
|
4679
|
-
return printer.printNode(
|
|
4234
|
+
return printer.printNode(ts24.EmitHint.Unspecified, tcb, sf);
|
|
4680
4235
|
}
|
|
4681
4236
|
};
|
|
4682
4237
|
function orderOps(op1, op2) {
|
|
@@ -4694,10 +4249,10 @@ function splitStringAtPoints(str, points) {
|
|
|
4694
4249
|
return splits;
|
|
4695
4250
|
}
|
|
4696
4251
|
|
|
4697
|
-
// bazel-out/
|
|
4252
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
|
|
4698
4253
|
import { ParseLocation, ParseSourceSpan } from "@angular/compiler";
|
|
4699
4254
|
|
|
4700
|
-
// bazel-out/
|
|
4255
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/line_mappings.mjs
|
|
4701
4256
|
var LF_CHAR = 10;
|
|
4702
4257
|
var CR_CHAR = 13;
|
|
4703
4258
|
var LINE_SEP_CHAR = 8232;
|
|
@@ -4738,7 +4293,7 @@ function findClosestLineStartPosition(linesMap, position, low = 0, high = linesM
|
|
|
4738
4293
|
return low - 1;
|
|
4739
4294
|
}
|
|
4740
4295
|
|
|
4741
|
-
// bazel-out/
|
|
4296
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/source.mjs
|
|
4742
4297
|
var TemplateSource = class {
|
|
4743
4298
|
constructor(mapping, file) {
|
|
4744
4299
|
this.mapping = mapping;
|
|
@@ -4789,12 +4344,13 @@ var TemplateSourceManager = class {
|
|
|
4789
4344
|
}
|
|
4790
4345
|
};
|
|
4791
4346
|
|
|
4792
|
-
// bazel-out/
|
|
4347
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/template_symbol_builder.mjs
|
|
4793
4348
|
import { AST, ASTWithSource as ASTWithSource3, BindingPipe as BindingPipe2, PropertyRead as PropertyRead5, PropertyWrite as PropertyWrite4, SafePropertyRead as SafePropertyRead4, TmplAstBoundAttribute as TmplAstBoundAttribute2, TmplAstBoundEvent, TmplAstElement as TmplAstElement4, TmplAstReference as TmplAstReference4, TmplAstTemplate as TmplAstTemplate3, TmplAstTextAttribute as TmplAstTextAttribute3, TmplAstVariable as TmplAstVariable3 } from "@angular/compiler";
|
|
4794
|
-
import
|
|
4349
|
+
import ts25 from "typescript";
|
|
4795
4350
|
var SymbolBuilder = class {
|
|
4796
|
-
constructor(
|
|
4797
|
-
this.
|
|
4351
|
+
constructor(tcbPath, tcbIsShim, typeCheckBlock, templateData, componentScopeReader, getTypeChecker) {
|
|
4352
|
+
this.tcbPath = tcbPath;
|
|
4353
|
+
this.tcbIsShim = tcbIsShim;
|
|
4798
4354
|
this.typeCheckBlock = typeCheckBlock;
|
|
4799
4355
|
this.templateData = templateData;
|
|
4800
4356
|
this.componentScopeReader = componentScopeReader;
|
|
@@ -4834,7 +4390,7 @@ var SymbolBuilder = class {
|
|
|
4834
4390
|
getSymbolOfElement(element) {
|
|
4835
4391
|
var _a;
|
|
4836
4392
|
const elementSourceSpan = (_a = element.startSourceSpan) != null ? _a : element.sourceSpan;
|
|
4837
|
-
const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: elementSourceSpan, filter:
|
|
4393
|
+
const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: elementSourceSpan, filter: ts25.isVariableDeclaration });
|
|
4838
4394
|
if (node === null) {
|
|
4839
4395
|
return null;
|
|
4840
4396
|
}
|
|
@@ -4853,12 +4409,12 @@ var SymbolBuilder = class {
|
|
|
4853
4409
|
var _a;
|
|
4854
4410
|
const elementSourceSpan = (_a = element.startSourceSpan) != null ? _a : element.sourceSpan;
|
|
4855
4411
|
const tcbSourceFile = this.typeCheckBlock.getSourceFile();
|
|
4856
|
-
const isDirectiveDeclaration = (node) => (
|
|
4412
|
+
const isDirectiveDeclaration = (node) => (ts25.isTypeNode(node) || ts25.isIdentifier(node)) && ts25.isVariableDeclaration(node.parent) && hasExpressionIdentifier(tcbSourceFile, node, ExpressionIdentifier.DIRECTIVE);
|
|
4857
4413
|
const nodes = findAllMatchingNodes(this.typeCheckBlock, { withSpan: elementSourceSpan, filter: isDirectiveDeclaration });
|
|
4858
4414
|
return nodes.map((node) => {
|
|
4859
4415
|
var _a2;
|
|
4860
4416
|
const symbol = this.getSymbolOfTsNode(node.parent);
|
|
4861
|
-
if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !
|
|
4417
|
+
if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !ts25.isClassDeclaration(symbol.tsSymbol.valueDeclaration)) {
|
|
4862
4418
|
return null;
|
|
4863
4419
|
}
|
|
4864
4420
|
const meta = this.getDirectiveMeta(element, symbol.tsSymbol.valueDeclaration);
|
|
@@ -4927,23 +4483,23 @@ var SymbolBuilder = class {
|
|
|
4927
4483
|
if (!isAccessExpression(n)) {
|
|
4928
4484
|
return false;
|
|
4929
4485
|
}
|
|
4930
|
-
if (
|
|
4486
|
+
if (ts25.isPropertyAccessExpression(n)) {
|
|
4931
4487
|
return n.name.getText() === expectedAccess;
|
|
4932
4488
|
} else {
|
|
4933
|
-
return
|
|
4489
|
+
return ts25.isStringLiteral(n.argumentExpression) && n.argumentExpression.text === expectedAccess;
|
|
4934
4490
|
}
|
|
4935
4491
|
}
|
|
4936
4492
|
const outputFieldAccesses = findAllMatchingNodes(this.typeCheckBlock, { withSpan: eventBinding.keySpan, filter });
|
|
4937
4493
|
const bindings = [];
|
|
4938
4494
|
for (const outputFieldAccess of outputFieldAccesses) {
|
|
4939
4495
|
if (consumer instanceof TmplAstTemplate3 || consumer instanceof TmplAstElement4) {
|
|
4940
|
-
if (!
|
|
4496
|
+
if (!ts25.isPropertyAccessExpression(outputFieldAccess)) {
|
|
4941
4497
|
continue;
|
|
4942
4498
|
}
|
|
4943
4499
|
const addEventListener = outputFieldAccess.name;
|
|
4944
4500
|
const tsSymbol = this.getTypeChecker().getSymbolAtLocation(addEventListener);
|
|
4945
4501
|
const tsType = this.getTypeChecker().getTypeAtLocation(addEventListener);
|
|
4946
|
-
const
|
|
4502
|
+
const positionInFile = this.getTcbPositionForNode(addEventListener);
|
|
4947
4503
|
const target = this.getSymbol(consumer);
|
|
4948
4504
|
if (target === null || tsSymbol === void 0) {
|
|
4949
4505
|
continue;
|
|
@@ -4953,10 +4509,14 @@ var SymbolBuilder = class {
|
|
|
4953
4509
|
tsSymbol,
|
|
4954
4510
|
tsType,
|
|
4955
4511
|
target,
|
|
4956
|
-
|
|
4512
|
+
tcbLocation: {
|
|
4513
|
+
tcbPath: this.tcbPath,
|
|
4514
|
+
isShimFile: this.tcbIsShim,
|
|
4515
|
+
positionInFile
|
|
4516
|
+
}
|
|
4957
4517
|
});
|
|
4958
4518
|
} else {
|
|
4959
|
-
if (!
|
|
4519
|
+
if (!ts25.isElementAccessExpression(outputFieldAccess)) {
|
|
4960
4520
|
continue;
|
|
4961
4521
|
}
|
|
4962
4522
|
const tsSymbol = this.getTypeChecker().getSymbolAtLocation(outputFieldAccess.argumentExpression);
|
|
@@ -4967,14 +4527,18 @@ var SymbolBuilder = class {
|
|
|
4967
4527
|
if (target === null) {
|
|
4968
4528
|
continue;
|
|
4969
4529
|
}
|
|
4970
|
-
const
|
|
4530
|
+
const positionInFile = this.getTcbPositionForNode(outputFieldAccess);
|
|
4971
4531
|
const tsType = this.getTypeChecker().getTypeAtLocation(outputFieldAccess);
|
|
4972
4532
|
bindings.push({
|
|
4973
4533
|
kind: SymbolKind.Binding,
|
|
4974
4534
|
tsSymbol,
|
|
4975
4535
|
tsType,
|
|
4976
4536
|
target,
|
|
4977
|
-
|
|
4537
|
+
tcbLocation: {
|
|
4538
|
+
tcbPath: this.tcbPath,
|
|
4539
|
+
isShimFile: this.tcbIsShim,
|
|
4540
|
+
positionInFile
|
|
4541
|
+
}
|
|
4978
4542
|
});
|
|
4979
4543
|
}
|
|
4980
4544
|
}
|
|
@@ -5024,11 +4588,11 @@ var SymbolBuilder = class {
|
|
|
5024
4588
|
return null;
|
|
5025
4589
|
}
|
|
5026
4590
|
const [declaration] = tsSymbol.declarations;
|
|
5027
|
-
if (!
|
|
4591
|
+
if (!ts25.isVariableDeclaration(declaration) || !hasExpressionIdentifier(declaration.getSourceFile(), (_a = declaration.type) != null ? _a : declaration.name, ExpressionIdentifier.DIRECTIVE)) {
|
|
5028
4592
|
return null;
|
|
5029
4593
|
}
|
|
5030
4594
|
const symbol = this.getSymbolOfTsNode(declaration);
|
|
5031
|
-
if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !
|
|
4595
|
+
if (symbol === null || !isSymbolWithValueDeclaration(symbol.tsSymbol) || !ts25.isClassDeclaration(symbol.tsSymbol.valueDeclaration)) {
|
|
5032
4596
|
return null;
|
|
5033
4597
|
}
|
|
5034
4598
|
const ngModule = this.getDirectiveModule(symbol.tsSymbol.valueDeclaration);
|
|
@@ -5036,7 +4600,7 @@ var SymbolBuilder = class {
|
|
|
5036
4600
|
kind: SymbolKind.Directive,
|
|
5037
4601
|
tsSymbol: symbol.tsSymbol,
|
|
5038
4602
|
tsType: symbol.tsType,
|
|
5039
|
-
|
|
4603
|
+
tcbLocation: symbol.tcbLocation,
|
|
5040
4604
|
isComponent,
|
|
5041
4605
|
isStructural,
|
|
5042
4606
|
selector,
|
|
@@ -5044,7 +4608,7 @@ var SymbolBuilder = class {
|
|
|
5044
4608
|
};
|
|
5045
4609
|
}
|
|
5046
4610
|
getSymbolOfVariable(variable) {
|
|
5047
|
-
const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: variable.sourceSpan, filter:
|
|
4611
|
+
const node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: variable.sourceSpan, filter: ts25.isVariableDeclaration });
|
|
5048
4612
|
if (node === null || node.initializer === void 0) {
|
|
5049
4613
|
return null;
|
|
5050
4614
|
}
|
|
@@ -5055,22 +4619,23 @@ var SymbolBuilder = class {
|
|
|
5055
4619
|
return {
|
|
5056
4620
|
tsType: expressionSymbol.tsType,
|
|
5057
4621
|
tsSymbol: expressionSymbol.tsSymbol,
|
|
5058
|
-
initializerLocation: expressionSymbol.
|
|
4622
|
+
initializerLocation: expressionSymbol.tcbLocation,
|
|
5059
4623
|
kind: SymbolKind.Variable,
|
|
5060
4624
|
declaration: variable,
|
|
5061
4625
|
localVarLocation: {
|
|
5062
|
-
|
|
5063
|
-
|
|
4626
|
+
tcbPath: this.tcbPath,
|
|
4627
|
+
isShimFile: this.tcbIsShim,
|
|
4628
|
+
positionInFile: this.getTcbPositionForNode(node.name)
|
|
5064
4629
|
}
|
|
5065
4630
|
};
|
|
5066
4631
|
}
|
|
5067
4632
|
getSymbolOfReference(ref) {
|
|
5068
4633
|
const target = this.templateData.boundTarget.getReferenceTarget(ref);
|
|
5069
|
-
let node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: ref.sourceSpan, filter:
|
|
4634
|
+
let node = findFirstMatchingNode(this.typeCheckBlock, { withSpan: ref.sourceSpan, filter: ts25.isVariableDeclaration });
|
|
5070
4635
|
if (node === null || target === null || node.initializer === void 0) {
|
|
5071
4636
|
return null;
|
|
5072
4637
|
}
|
|
5073
|
-
const originalDeclaration =
|
|
4638
|
+
const originalDeclaration = ts25.isParenthesizedExpression(node.initializer) && ts25.isAsExpression(node.initializer.expression) ? this.getTypeChecker().getSymbolAtLocation(node.name) : this.getTypeChecker().getSymbolAtLocation(node.initializer);
|
|
5074
4639
|
if (originalDeclaration === void 0 || originalDeclaration.valueDeclaration === void 0) {
|
|
5075
4640
|
return null;
|
|
5076
4641
|
}
|
|
@@ -5078,9 +4643,10 @@ var SymbolBuilder = class {
|
|
|
5078
4643
|
if (symbol === null || symbol.tsSymbol === null) {
|
|
5079
4644
|
return null;
|
|
5080
4645
|
}
|
|
5081
|
-
const
|
|
5082
|
-
|
|
5083
|
-
|
|
4646
|
+
const referenceVarTcbLocation = {
|
|
4647
|
+
tcbPath: this.tcbPath,
|
|
4648
|
+
isShimFile: this.tcbIsShim,
|
|
4649
|
+
positionInFile: this.getTcbPositionForNode(node)
|
|
5084
4650
|
};
|
|
5085
4651
|
if (target instanceof TmplAstTemplate3 || target instanceof TmplAstElement4) {
|
|
5086
4652
|
return {
|
|
@@ -5089,11 +4655,11 @@ var SymbolBuilder = class {
|
|
|
5089
4655
|
tsType: symbol.tsType,
|
|
5090
4656
|
target,
|
|
5091
4657
|
declaration: ref,
|
|
5092
|
-
targetLocation: symbol.
|
|
5093
|
-
referenceVarLocation:
|
|
4658
|
+
targetLocation: symbol.tcbLocation,
|
|
4659
|
+
referenceVarLocation: referenceVarTcbLocation
|
|
5094
4660
|
};
|
|
5095
4661
|
} else {
|
|
5096
|
-
if (!
|
|
4662
|
+
if (!ts25.isClassDeclaration(target.directive.ref.node)) {
|
|
5097
4663
|
return null;
|
|
5098
4664
|
}
|
|
5099
4665
|
return {
|
|
@@ -5102,13 +4668,13 @@ var SymbolBuilder = class {
|
|
|
5102
4668
|
tsType: symbol.tsType,
|
|
5103
4669
|
declaration: ref,
|
|
5104
4670
|
target: target.directive.ref.node,
|
|
5105
|
-
targetLocation: symbol.
|
|
5106
|
-
referenceVarLocation:
|
|
4671
|
+
targetLocation: symbol.tcbLocation,
|
|
4672
|
+
referenceVarLocation: referenceVarTcbLocation
|
|
5107
4673
|
};
|
|
5108
4674
|
}
|
|
5109
4675
|
}
|
|
5110
4676
|
getSymbolOfPipe(expression) {
|
|
5111
|
-
const methodAccess = findFirstMatchingNode(this.typeCheckBlock, { withSpan: expression.nameSpan, filter:
|
|
4677
|
+
const methodAccess = findFirstMatchingNode(this.typeCheckBlock, { withSpan: expression.nameSpan, filter: ts25.isPropertyAccessExpression });
|
|
5112
4678
|
if (methodAccess === null) {
|
|
5113
4679
|
return null;
|
|
5114
4680
|
}
|
|
@@ -5147,7 +4713,7 @@ var SymbolBuilder = class {
|
|
|
5147
4713
|
}
|
|
5148
4714
|
let node = null;
|
|
5149
4715
|
if (expression instanceof PropertyRead5) {
|
|
5150
|
-
node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter:
|
|
4716
|
+
node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter: ts25.isPropertyAccessExpression });
|
|
5151
4717
|
}
|
|
5152
4718
|
if (node === null) {
|
|
5153
4719
|
node = findFirstMatchingNode(this.typeCheckBlock, { withSpan, filter: anyNodeFilter });
|
|
@@ -5155,10 +4721,10 @@ var SymbolBuilder = class {
|
|
|
5155
4721
|
if (node === null) {
|
|
5156
4722
|
return null;
|
|
5157
4723
|
}
|
|
5158
|
-
while (
|
|
4724
|
+
while (ts25.isParenthesizedExpression(node)) {
|
|
5159
4725
|
node = node.expression;
|
|
5160
4726
|
}
|
|
5161
|
-
if (expression instanceof SafePropertyRead4 &&
|
|
4727
|
+
if (expression instanceof SafePropertyRead4 && ts25.isConditionalExpression(node)) {
|
|
5162
4728
|
const whenTrueSymbol = this.getSymbolOfTsNode(node.whenTrue);
|
|
5163
4729
|
if (whenTrueSymbol === null) {
|
|
5164
4730
|
return null;
|
|
@@ -5174,33 +4740,37 @@ var SymbolBuilder = class {
|
|
|
5174
4740
|
}
|
|
5175
4741
|
getSymbolOfTsNode(node) {
|
|
5176
4742
|
var _a;
|
|
5177
|
-
while (
|
|
4743
|
+
while (ts25.isParenthesizedExpression(node)) {
|
|
5178
4744
|
node = node.expression;
|
|
5179
4745
|
}
|
|
5180
4746
|
let tsSymbol;
|
|
5181
|
-
if (
|
|
4747
|
+
if (ts25.isPropertyAccessExpression(node)) {
|
|
5182
4748
|
tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.name);
|
|
5183
|
-
} else if (
|
|
4749
|
+
} else if (ts25.isElementAccessExpression(node)) {
|
|
5184
4750
|
tsSymbol = this.getTypeChecker().getSymbolAtLocation(node.argumentExpression);
|
|
5185
4751
|
} else {
|
|
5186
4752
|
tsSymbol = this.getTypeChecker().getSymbolAtLocation(node);
|
|
5187
4753
|
}
|
|
5188
|
-
const
|
|
4754
|
+
const positionInFile = this.getTcbPositionForNode(node);
|
|
5189
4755
|
const type = this.getTypeChecker().getTypeAtLocation(node);
|
|
5190
4756
|
return {
|
|
5191
4757
|
tsSymbol: (_a = tsSymbol != null ? tsSymbol : type.symbol) != null ? _a : null,
|
|
5192
4758
|
tsType: type,
|
|
5193
|
-
|
|
4759
|
+
tcbLocation: {
|
|
4760
|
+
tcbPath: this.tcbPath,
|
|
4761
|
+
isShimFile: this.tcbIsShim,
|
|
4762
|
+
positionInFile
|
|
4763
|
+
}
|
|
5194
4764
|
};
|
|
5195
4765
|
}
|
|
5196
|
-
|
|
5197
|
-
if (
|
|
5198
|
-
return this.
|
|
5199
|
-
} else if (
|
|
4766
|
+
getTcbPositionForNode(node) {
|
|
4767
|
+
if (ts25.isTypeReferenceNode(node)) {
|
|
4768
|
+
return this.getTcbPositionForNode(node.typeName);
|
|
4769
|
+
} else if (ts25.isQualifiedName(node)) {
|
|
5200
4770
|
return node.right.getStart();
|
|
5201
|
-
} else if (
|
|
4771
|
+
} else if (ts25.isPropertyAccessExpression(node)) {
|
|
5202
4772
|
return node.name.getStart();
|
|
5203
|
-
} else if (
|
|
4773
|
+
} else if (ts25.isElementAccessExpression(node)) {
|
|
5204
4774
|
return node.argumentExpression.getStart();
|
|
5205
4775
|
} else {
|
|
5206
4776
|
return node.getStart();
|
|
@@ -5214,7 +4784,7 @@ function sourceSpanEqual(a, b) {
|
|
|
5214
4784
|
return a.start.offset === b.start.offset && a.end.offset === b.end.offset;
|
|
5215
4785
|
}
|
|
5216
4786
|
|
|
5217
|
-
// bazel-out/
|
|
4787
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/src/checker.mjs
|
|
5218
4788
|
var REGISTRY2 = new DomElementSchemaRegistry2();
|
|
5219
4789
|
var TemplateTypeCheckerImpl = class {
|
|
5220
4790
|
constructor(originalProgram, programDriver, typeCheckAdapter, config, refEmitter, reflector, compilerHost, priorBuild, componentScopeReader, typeCheckScopeRegistry, perf) {
|
|
@@ -5250,7 +4820,7 @@ var TemplateTypeCheckerImpl = class {
|
|
|
5250
4820
|
const shimPath = TypeCheckShimGenerator.shimFor(sfPath);
|
|
5251
4821
|
const fileRecord = this.getFileData(sfPath);
|
|
5252
4822
|
if (!fileRecord.shimData.has(shimPath)) {
|
|
5253
|
-
return { data: null, tcb: null, shimPath };
|
|
4823
|
+
return { data: null, tcb: null, tcbPath: shimPath, tcbIsShim: true };
|
|
5254
4824
|
}
|
|
5255
4825
|
const templateId = fileRecord.sourceManager.getTemplateId(component);
|
|
5256
4826
|
const shimRecord = fileRecord.shimData.get(shimPath);
|
|
@@ -5261,19 +4831,38 @@ var TemplateTypeCheckerImpl = class {
|
|
|
5261
4831
|
throw new Error(`Error: no shim file in program: ${shimPath}`);
|
|
5262
4832
|
}
|
|
5263
4833
|
let tcb = findTypeCheckBlock(shimSf, id, false);
|
|
4834
|
+
let tcbPath = shimPath;
|
|
5264
4835
|
if (tcb === null) {
|
|
5265
4836
|
const inlineSf = getSourceFileOrError(program, sfPath);
|
|
5266
4837
|
tcb = findTypeCheckBlock(inlineSf, id, false);
|
|
4838
|
+
if (tcb !== null) {
|
|
4839
|
+
tcbPath = sfPath;
|
|
4840
|
+
}
|
|
5267
4841
|
}
|
|
5268
4842
|
let data = null;
|
|
5269
4843
|
if (shimRecord.templates.has(templateId)) {
|
|
5270
4844
|
data = shimRecord.templates.get(templateId);
|
|
5271
4845
|
}
|
|
5272
|
-
return { data, tcb, shimPath };
|
|
4846
|
+
return { data, tcb, tcbPath, tcbIsShim: tcbPath === shimPath };
|
|
5273
4847
|
}
|
|
5274
4848
|
isTrackedTypeCheckFile(filePath) {
|
|
5275
4849
|
return this.getFileAndShimRecordsForPath(filePath) !== null;
|
|
5276
4850
|
}
|
|
4851
|
+
getFileRecordForTcbLocation({ tcbPath, isShimFile }) {
|
|
4852
|
+
if (!isShimFile) {
|
|
4853
|
+
if (this.state.has(tcbPath)) {
|
|
4854
|
+
return this.state.get(tcbPath);
|
|
4855
|
+
} else {
|
|
4856
|
+
return null;
|
|
4857
|
+
}
|
|
4858
|
+
}
|
|
4859
|
+
const records = this.getFileAndShimRecordsForPath(tcbPath);
|
|
4860
|
+
if (records !== null) {
|
|
4861
|
+
return records.fileRecord;
|
|
4862
|
+
} else {
|
|
4863
|
+
return null;
|
|
4864
|
+
}
|
|
4865
|
+
}
|
|
5277
4866
|
getFileAndShimRecordsForPath(shimPath) {
|
|
5278
4867
|
for (const fileRecord of this.state.values()) {
|
|
5279
4868
|
if (fileRecord.shimData.has(shimPath)) {
|
|
@@ -5282,17 +4871,16 @@ var TemplateTypeCheckerImpl = class {
|
|
|
5282
4871
|
}
|
|
5283
4872
|
return null;
|
|
5284
4873
|
}
|
|
5285
|
-
|
|
5286
|
-
const
|
|
5287
|
-
if (
|
|
4874
|
+
getTemplateMappingAtTcbLocation(tcbLocation) {
|
|
4875
|
+
const fileRecord = this.getFileRecordForTcbLocation(tcbLocation);
|
|
4876
|
+
if (fileRecord === null) {
|
|
5288
4877
|
return null;
|
|
5289
4878
|
}
|
|
5290
|
-
const
|
|
5291
|
-
const shimSf = this.programDriver.getProgram().getSourceFile(absoluteFrom(shimPath));
|
|
4879
|
+
const shimSf = this.programDriver.getProgram().getSourceFile(tcbLocation.tcbPath);
|
|
5292
4880
|
if (shimSf === void 0) {
|
|
5293
4881
|
return null;
|
|
5294
4882
|
}
|
|
5295
|
-
return getTemplateMapping(shimSf,
|
|
4883
|
+
return getTemplateMapping(shimSf, tcbLocation.positionInFile, fileRecord.sourceManager, false);
|
|
5296
4884
|
}
|
|
5297
4885
|
generateAllTypeCheckBlocks() {
|
|
5298
4886
|
this.ensureAllShimsForAllFiles();
|
|
@@ -5404,11 +4992,11 @@ var TemplateTypeCheckerImpl = class {
|
|
|
5404
4992
|
if (this.completionCache.has(component)) {
|
|
5405
4993
|
return this.completionCache.get(component);
|
|
5406
4994
|
}
|
|
5407
|
-
const { tcb, data,
|
|
4995
|
+
const { tcb, data, tcbPath, tcbIsShim } = this.getLatestComponentState(component);
|
|
5408
4996
|
if (tcb === null || data === null) {
|
|
5409
4997
|
return null;
|
|
5410
4998
|
}
|
|
5411
|
-
const engine = new CompletionEngine(tcb, data,
|
|
4999
|
+
const engine = new CompletionEngine(tcb, data, tcbPath, tcbIsShim);
|
|
5412
5000
|
this.completionCache.set(component, engine);
|
|
5413
5001
|
return engine;
|
|
5414
5002
|
}
|
|
@@ -5532,11 +5120,11 @@ var TemplateTypeCheckerImpl = class {
|
|
|
5532
5120
|
if (this.symbolBuilderCache.has(component)) {
|
|
5533
5121
|
return this.symbolBuilderCache.get(component);
|
|
5534
5122
|
}
|
|
5535
|
-
const { tcb, data,
|
|
5123
|
+
const { tcb, data, tcbPath, tcbIsShim } = this.getLatestComponentState(component);
|
|
5536
5124
|
if (tcb === null || data === null) {
|
|
5537
5125
|
return null;
|
|
5538
5126
|
}
|
|
5539
|
-
const builder = new SymbolBuilder(
|
|
5127
|
+
const builder = new SymbolBuilder(tcbPath, tcbIsShim, tcb, data, this.componentScopeReader, () => this.programDriver.getProgram().getTypeChecker());
|
|
5540
5128
|
this.symbolBuilderCache.set(component, builder);
|
|
5541
5129
|
return builder;
|
|
5542
5130
|
}
|
|
@@ -5571,7 +5159,7 @@ var TemplateTypeCheckerImpl = class {
|
|
|
5571
5159
|
const scope = this.getScopeData(component);
|
|
5572
5160
|
if (scope !== null) {
|
|
5573
5161
|
for (const directive of scope.directives) {
|
|
5574
|
-
for (const selector of
|
|
5162
|
+
for (const selector of CssSelector.parse(directive.selector)) {
|
|
5575
5163
|
if (selector.element === null || tagMap.has(selector.element)) {
|
|
5576
5164
|
continue;
|
|
5577
5165
|
}
|
|
@@ -5730,10 +5318,10 @@ var SingleShimTypeCheckingHost = class extends SingleFileTypeCheckingHost {
|
|
|
5730
5318
|
}
|
|
5731
5319
|
};
|
|
5732
5320
|
|
|
5733
|
-
// bazel-out/
|
|
5321
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
|
|
5734
5322
|
import { TmplAstBoundEvent as TmplAstBoundEvent2 } from "@angular/compiler";
|
|
5735
5323
|
|
|
5736
|
-
// bazel-out/
|
|
5324
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/api/api.mjs
|
|
5737
5325
|
import { ASTWithSource as ASTWithSource4, RecursiveAstVisitor as RecursiveAstVisitor3 } from "@angular/compiler";
|
|
5738
5326
|
var TemplateCheckWithVisitor = class {
|
|
5739
5327
|
run(ctx, component, template) {
|
|
@@ -5810,7 +5398,7 @@ var TemplateVisitor2 = class extends RecursiveAstVisitor3 {
|
|
|
5810
5398
|
}
|
|
5811
5399
|
};
|
|
5812
5400
|
|
|
5813
|
-
// bazel-out/
|
|
5401
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/invalid_banana_in_box/index.mjs
|
|
5814
5402
|
var InvalidBananaInBoxCheck = class extends TemplateCheckWithVisitor {
|
|
5815
5403
|
constructor() {
|
|
5816
5404
|
super(...arguments);
|
|
@@ -5835,9 +5423,9 @@ var factory = {
|
|
|
5835
5423
|
create: () => new InvalidBananaInBoxCheck()
|
|
5836
5424
|
};
|
|
5837
5425
|
|
|
5838
|
-
// bazel-out/
|
|
5426
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/checks/nullish_coalescing_not_nullable/index.mjs
|
|
5839
5427
|
import { Binary } from "@angular/compiler";
|
|
5840
|
-
import
|
|
5428
|
+
import ts26 from "typescript";
|
|
5841
5429
|
var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
|
|
5842
5430
|
constructor() {
|
|
5843
5431
|
super(...arguments);
|
|
@@ -5851,7 +5439,7 @@ var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
|
|
|
5851
5439
|
return [];
|
|
5852
5440
|
}
|
|
5853
5441
|
const typeLeft = symbolLeft.tsType;
|
|
5854
|
-
if (typeLeft.flags & (
|
|
5442
|
+
if (typeLeft.flags & (ts26.TypeFlags.Any | ts26.TypeFlags.Unknown)) {
|
|
5855
5443
|
return [];
|
|
5856
5444
|
}
|
|
5857
5445
|
if (typeLeft.getNonNullableType() !== typeLeft)
|
|
@@ -5860,8 +5448,11 @@ var NullishCoalescingNotNullableCheck = class extends TemplateCheckWithVisitor {
|
|
|
5860
5448
|
if (symbol.kind !== SymbolKind.Expression) {
|
|
5861
5449
|
return [];
|
|
5862
5450
|
}
|
|
5863
|
-
const
|
|
5864
|
-
|
|
5451
|
+
const templateMapping = ctx.templateTypeChecker.getTemplateMappingAtTcbLocation(symbol.tcbLocation);
|
|
5452
|
+
if (templateMapping === null) {
|
|
5453
|
+
return [];
|
|
5454
|
+
}
|
|
5455
|
+
const diagnostic = ctx.makeTemplateDiagnostic(templateMapping.span, `The left side of this nullish coalescing operation does not include 'null' or 'undefined' in its type, therefore the '??' operator can be safely removed.`);
|
|
5865
5456
|
return [diagnostic];
|
|
5866
5457
|
}
|
|
5867
5458
|
};
|
|
@@ -5877,10 +5468,10 @@ var factory2 = {
|
|
|
5877
5468
|
}
|
|
5878
5469
|
};
|
|
5879
5470
|
|
|
5880
|
-
// bazel-out/
|
|
5881
|
-
import
|
|
5471
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
|
|
5472
|
+
import ts27 from "typescript";
|
|
5882
5473
|
|
|
5883
|
-
// bazel-out/
|
|
5474
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/api/src/public_options.mjs
|
|
5884
5475
|
var DiagnosticCategoryLabel;
|
|
5885
5476
|
(function(DiagnosticCategoryLabel2) {
|
|
5886
5477
|
DiagnosticCategoryLabel2["Warning"] = "warning";
|
|
@@ -5888,7 +5479,7 @@ var DiagnosticCategoryLabel;
|
|
|
5888
5479
|
DiagnosticCategoryLabel2["Suppress"] = "suppress";
|
|
5889
5480
|
})(DiagnosticCategoryLabel || (DiagnosticCategoryLabel = {}));
|
|
5890
5481
|
|
|
5891
|
-
// bazel-out/
|
|
5482
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/src/extended_template_checker.mjs
|
|
5892
5483
|
var ExtendedTemplateCheckerImpl = class {
|
|
5893
5484
|
constructor(templateTypeChecker, typeChecker, templateCheckFactories, options) {
|
|
5894
5485
|
var _a, _b, _c, _d, _e;
|
|
@@ -5926,9 +5517,9 @@ var ExtendedTemplateCheckerImpl = class {
|
|
|
5926
5517
|
function diagnosticLabelToCategory(label) {
|
|
5927
5518
|
switch (label) {
|
|
5928
5519
|
case DiagnosticCategoryLabel.Warning:
|
|
5929
|
-
return
|
|
5520
|
+
return ts27.DiagnosticCategory.Warning;
|
|
5930
5521
|
case DiagnosticCategoryLabel.Error:
|
|
5931
|
-
return
|
|
5522
|
+
return ts27.DiagnosticCategory.Error;
|
|
5932
5523
|
case DiagnosticCategoryLabel.Suppress:
|
|
5933
5524
|
return null;
|
|
5934
5525
|
default:
|
|
@@ -5940,13 +5531,13 @@ function assertNever(value) {
|
|
|
5940
5531
|
${value}`);
|
|
5941
5532
|
}
|
|
5942
5533
|
|
|
5943
|
-
// bazel-out/
|
|
5534
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/typecheck/extended/index.mjs
|
|
5944
5535
|
var ALL_DIAGNOSTIC_FACTORIES = [
|
|
5945
5536
|
factory,
|
|
5946
5537
|
factory2
|
|
5947
5538
|
];
|
|
5948
5539
|
|
|
5949
|
-
// bazel-out/
|
|
5540
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/compiler.mjs
|
|
5950
5541
|
var CompilationTicketKind;
|
|
5951
5542
|
(function(CompilationTicketKind2) {
|
|
5952
5543
|
CompilationTicketKind2[CompilationTicketKind2["Fresh"] = 0] = "Fresh";
|
|
@@ -6023,7 +5614,7 @@ var NgCompiler = class {
|
|
|
6023
5614
|
this.currentProgram = inputProgram;
|
|
6024
5615
|
this.closureCompilerEnabled = !!this.options.annotateForClosureCompiler;
|
|
6025
5616
|
this.entryPoint = adapter.entryPoint !== null ? getSourceFileOrNull(inputProgram, adapter.entryPoint) : null;
|
|
6026
|
-
const moduleResolutionCache =
|
|
5617
|
+
const moduleResolutionCache = ts28.createModuleResolutionCache(this.adapter.getCurrentDirectory(), this.adapter.getCanonicalFileName.bind(this.adapter));
|
|
6027
5618
|
this.moduleResolver = new ModuleResolver(inputProgram, this.options, this.adapter, moduleResolutionCache);
|
|
6028
5619
|
this.resourceManager = new AdapterResourceLoader(adapter, this.options);
|
|
6029
5620
|
this.cycleAnalyzer = new CycleAnalyzer(new ImportGraph(inputProgram.getTypeChecker(), this.delegatingPerfRecorder));
|
|
@@ -6079,7 +5670,7 @@ var NgCompiler = class {
|
|
|
6079
5670
|
}
|
|
6080
5671
|
for (const clazz of classesToUpdate) {
|
|
6081
5672
|
this.compilation.traitCompiler.updateResources(clazz);
|
|
6082
|
-
if (!
|
|
5673
|
+
if (!ts28.isClassDeclaration(clazz)) {
|
|
6083
5674
|
continue;
|
|
6084
5675
|
}
|
|
6085
5676
|
this.compilation.templateTypeChecker.invalidateClass(clazz);
|
|
@@ -6430,12 +6021,12 @@ var NgCompiler = class {
|
|
|
6430
6021
|
const localMetaRegistry = new LocalMetadataRegistry();
|
|
6431
6022
|
const localMetaReader = localMetaRegistry;
|
|
6432
6023
|
const depScopeReader = new MetadataDtsModuleScopeResolver(dtsReader, aliasingHost);
|
|
6433
|
-
const
|
|
6024
|
+
const metaReader = new CompoundMetadataReader([localMetaReader, dtsReader]);
|
|
6025
|
+
const scopeRegistry = new LocalModuleScopeRegistry(localMetaReader, metaReader, depScopeReader, refEmitter, aliasingHost);
|
|
6434
6026
|
const scopeReader = scopeRegistry;
|
|
6435
6027
|
const semanticDepGraphUpdater = this.incrementalCompilation.semanticDepGraphUpdater;
|
|
6436
6028
|
const metaRegistry = new CompoundMetadataRegistry([localMetaRegistry, scopeRegistry]);
|
|
6437
6029
|
const injectableRegistry = new InjectableClassRegistry(reflector);
|
|
6438
|
-
const metaReader = new CompoundMetadataReader([localMetaReader, dtsReader]);
|
|
6439
6030
|
const typeCheckScopeRegistry = new TypeCheckScopeRegistry(scopeReader, metaReader);
|
|
6440
6031
|
let referencesRegistry;
|
|
6441
6032
|
let exportReferenceGraph = null;
|
|
@@ -6451,7 +6042,7 @@ var NgCompiler = class {
|
|
|
6451
6042
|
const compilationMode = this.options.compilationMode === "partial" && !isCore ? CompilationMode.PARTIAL : CompilationMode.FULL;
|
|
6452
6043
|
const cycleHandlingStrategy = compilationMode === CompilationMode.FULL ? 0 : 1;
|
|
6453
6044
|
const handlers = [
|
|
6454
|
-
new ComponentDecoratorHandler(reflector, evaluator, metaRegistry, metaReader, scopeReader, scopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, this.resourceManager, this.adapter.rootDirs, this.options.preserveWhitespaces || false, this.options.i18nUseExternalIds !== false, this.options.enableI18nLegacyMessageIdFormat !== false, this.usePoisonedData, this.options.i18nNormalizeLineEndingsInICUs, this.moduleResolver, this.cycleAnalyzer, cycleHandlingStrategy, refEmitter, this.incrementalCompilation.depGraph, injectableRegistry, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder),
|
|
6045
|
+
new ComponentDecoratorHandler(reflector, evaluator, metaRegistry, metaReader, scopeReader, depScopeReader, scopeRegistry, typeCheckScopeRegistry, resourceRegistry, isCore, this.resourceManager, this.adapter.rootDirs, this.options.preserveWhitespaces || false, this.options.i18nUseExternalIds !== false, this.options.enableI18nLegacyMessageIdFormat !== false, this.usePoisonedData, this.options.i18nNormalizeLineEndingsInICUs === true, this.moduleResolver, this.cycleAnalyzer, cycleHandlingStrategy, refEmitter, this.incrementalCompilation.depGraph, injectableRegistry, semanticDepGraphUpdater, this.closureCompilerEnabled, this.delegatingPerfRecorder),
|
|
6455
6046
|
new DirectiveDecoratorHandler(reflector, evaluator, metaRegistry, scopeRegistry, metaReader, injectableRegistry, isCore, semanticDepGraphUpdater, this.closureCompilerEnabled, false, this.delegatingPerfRecorder),
|
|
6456
6047
|
new PipeDecoratorHandler(reflector, evaluator, metaRegistry, scopeRegistry, injectableRegistry, isCore, this.delegatingPerfRecorder),
|
|
6457
6048
|
new InjectableDecoratorHandler(reflector, isCore, this.options.strictInjectionParameters || false, injectableRegistry, this.delegatingPerfRecorder),
|
|
@@ -6487,17 +6078,17 @@ function isAngularCorePackage(program) {
|
|
|
6487
6078
|
return false;
|
|
6488
6079
|
}
|
|
6489
6080
|
return r3Symbols.statements.some((stmt) => {
|
|
6490
|
-
if (!
|
|
6081
|
+
if (!ts28.isVariableStatement(stmt)) {
|
|
6491
6082
|
return false;
|
|
6492
6083
|
}
|
|
6493
|
-
if (stmt.modifiers === void 0 || !stmt.modifiers.some((mod) => mod.kind ===
|
|
6084
|
+
if (stmt.modifiers === void 0 || !stmt.modifiers.some((mod) => mod.kind === ts28.SyntaxKind.ExportKeyword)) {
|
|
6494
6085
|
return false;
|
|
6495
6086
|
}
|
|
6496
6087
|
return stmt.declarationList.declarations.some((decl) => {
|
|
6497
|
-
if (!
|
|
6088
|
+
if (!ts28.isIdentifier(decl.name) || decl.name.text !== "ITS_JUST_ANGULAR") {
|
|
6498
6089
|
return false;
|
|
6499
6090
|
}
|
|
6500
|
-
if (decl.initializer === void 0 || decl.initializer.kind !==
|
|
6091
|
+
if (decl.initializer === void 0 || decl.initializer.kind !== ts28.SyntaxKind.TrueKeyword) {
|
|
6501
6092
|
return false;
|
|
6502
6093
|
}
|
|
6503
6094
|
return true;
|
|
@@ -6511,7 +6102,7 @@ function* verifyCompatibleTypeCheckOptions(options) {
|
|
|
6511
6102
|
var _a, _b, _c;
|
|
6512
6103
|
if (options.fullTemplateTypeCheck === false && options.strictTemplates === true) {
|
|
6513
6104
|
yield makeConfigDiagnostic({
|
|
6514
|
-
category:
|
|
6105
|
+
category: ts28.DiagnosticCategory.Error,
|
|
6515
6106
|
code: ErrorCode.CONFIG_STRICT_TEMPLATES_IMPLIES_FULL_TEMPLATE_TYPECHECK,
|
|
6516
6107
|
messageText: `
|
|
6517
6108
|
Angular compiler option "strictTemplates" is enabled, however "fullTemplateTypeCheck" is disabled.
|
|
@@ -6530,7 +6121,7 @@ https://angular.io/guide/template-typecheck
|
|
|
6530
6121
|
}
|
|
6531
6122
|
if (options.extendedDiagnostics && options.strictTemplates === false) {
|
|
6532
6123
|
yield makeConfigDiagnostic({
|
|
6533
|
-
category:
|
|
6124
|
+
category: ts28.DiagnosticCategory.Error,
|
|
6534
6125
|
code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_IMPLIES_STRICT_TEMPLATES,
|
|
6535
6126
|
messageText: `
|
|
6536
6127
|
Angular compiler option "extendedDiagnostics" is configured, however "strictTemplates" is disabled.
|
|
@@ -6547,7 +6138,7 @@ One of the following actions is required:
|
|
|
6547
6138
|
const defaultCategory = (_a = options.extendedDiagnostics) == null ? void 0 : _a.defaultCategory;
|
|
6548
6139
|
if (defaultCategory && !allowedCategoryLabels.includes(defaultCategory)) {
|
|
6549
6140
|
yield makeConfigDiagnostic({
|
|
6550
|
-
category:
|
|
6141
|
+
category: ts28.DiagnosticCategory.Error,
|
|
6551
6142
|
code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CATEGORY_LABEL,
|
|
6552
6143
|
messageText: `
|
|
6553
6144
|
Angular compiler option "extendedDiagnostics.defaultCategory" has an unknown diagnostic category: "${defaultCategory}".
|
|
@@ -6561,7 +6152,7 @@ ${allowedCategoryLabels.join("\n")}
|
|
|
6561
6152
|
for (const [checkName, category] of Object.entries((_c = (_b = options.extendedDiagnostics) == null ? void 0 : _b.checks) != null ? _c : {})) {
|
|
6562
6153
|
if (!allExtendedDiagnosticNames.includes(checkName)) {
|
|
6563
6154
|
yield makeConfigDiagnostic({
|
|
6564
|
-
category:
|
|
6155
|
+
category: ts28.DiagnosticCategory.Error,
|
|
6565
6156
|
code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CHECK,
|
|
6566
6157
|
messageText: `
|
|
6567
6158
|
Angular compiler option "extendedDiagnostics.checks" has an unknown check: "${checkName}".
|
|
@@ -6573,7 +6164,7 @@ ${allExtendedDiagnosticNames.join("\n")}
|
|
|
6573
6164
|
}
|
|
6574
6165
|
if (!allowedCategoryLabels.includes(category)) {
|
|
6575
6166
|
yield makeConfigDiagnostic({
|
|
6576
|
-
category:
|
|
6167
|
+
category: ts28.DiagnosticCategory.Error,
|
|
6577
6168
|
code: ErrorCode.CONFIG_EXTENDED_DIAGNOSTICS_UNKNOWN_CATEGORY_LABEL,
|
|
6578
6169
|
messageText: `
|
|
6579
6170
|
Angular compiler option "extendedDiagnostics.checks['${checkName}']" has an unknown diagnostic category: "${category}".
|
|
@@ -6603,7 +6194,7 @@ var ReferenceGraphAdapter = class {
|
|
|
6603
6194
|
for (const { node } of references) {
|
|
6604
6195
|
let sourceFile = node.getSourceFile();
|
|
6605
6196
|
if (sourceFile === void 0) {
|
|
6606
|
-
sourceFile =
|
|
6197
|
+
sourceFile = ts28.getOriginalNode(node).getSourceFile();
|
|
6607
6198
|
}
|
|
6608
6199
|
if (sourceFile === void 0 || !isDtsPath(sourceFile.fileName)) {
|
|
6609
6200
|
this.graph.add(source, node);
|
|
@@ -6641,8 +6232,8 @@ function versionMapFromProgram(program, driver) {
|
|
|
6641
6232
|
return versions;
|
|
6642
6233
|
}
|
|
6643
6234
|
|
|
6644
|
-
// bazel-out/
|
|
6645
|
-
import
|
|
6235
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/core/src/host.mjs
|
|
6236
|
+
import ts29 from "typescript";
|
|
6646
6237
|
var DelegatingCompilerHost2 = class {
|
|
6647
6238
|
constructor(delegate) {
|
|
6648
6239
|
this.delegate = delegate;
|
|
@@ -6732,7 +6323,7 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
|
|
|
6732
6323
|
entryPoint = findFlatIndexEntryPoint(normalizedTsInputFiles);
|
|
6733
6324
|
if (entryPoint === null) {
|
|
6734
6325
|
diagnostics.push({
|
|
6735
|
-
category:
|
|
6326
|
+
category: ts29.DiagnosticCategory.Error,
|
|
6736
6327
|
code: ngErrorCode(ErrorCode.CONFIG_FLAT_MODULE_NO_INDEX),
|
|
6737
6328
|
file: void 0,
|
|
6738
6329
|
start: void 0,
|
|
@@ -6772,17 +6363,17 @@ var NgCompilerHost = class extends DelegatingCompilerHost2 {
|
|
|
6772
6363
|
return this.fileNameToModuleName !== void 0 ? this : null;
|
|
6773
6364
|
}
|
|
6774
6365
|
createCachedResolveModuleNamesFunction() {
|
|
6775
|
-
const moduleResolutionCache =
|
|
6366
|
+
const moduleResolutionCache = ts29.createModuleResolutionCache(this.getCurrentDirectory(), this.getCanonicalFileName.bind(this));
|
|
6776
6367
|
return (moduleNames, containingFile, reusedNames, redirectedReference, options) => {
|
|
6777
6368
|
return moduleNames.map((moduleName) => {
|
|
6778
|
-
const module =
|
|
6369
|
+
const module = ts29.resolveModuleName(moduleName, containingFile, options, this, moduleResolutionCache, redirectedReference);
|
|
6779
6370
|
return module.resolvedModule;
|
|
6780
6371
|
});
|
|
6781
6372
|
};
|
|
6782
6373
|
}
|
|
6783
6374
|
};
|
|
6784
6375
|
|
|
6785
|
-
// bazel-out/
|
|
6376
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/ngtsc/program.mjs
|
|
6786
6377
|
var NgtscProgram = class {
|
|
6787
6378
|
constructor(rootNames, options, delegateHost, oldProgram) {
|
|
6788
6379
|
this.options = options;
|
|
@@ -6796,7 +6387,7 @@ var NgtscProgram = class {
|
|
|
6796
6387
|
if (reuseProgram !== void 0) {
|
|
6797
6388
|
retagAllTsFiles(reuseProgram);
|
|
6798
6389
|
}
|
|
6799
|
-
this.tsProgram = perfRecorder.inPhase(PerfPhase.TypeScriptProgramCreate, () =>
|
|
6390
|
+
this.tsProgram = perfRecorder.inPhase(PerfPhase.TypeScriptProgramCreate, () => ts30.createProgram(this.host.inputFiles, options, this.host, reuseProgram));
|
|
6800
6391
|
perfRecorder.phase(PerfPhase.Unaccounted);
|
|
6801
6392
|
perfRecorder.memory(PerfCheckpoint.TypeScriptProgramCreate);
|
|
6802
6393
|
this.host.postProgramCreationCleanup();
|
|
@@ -6989,38 +6580,38 @@ function mergeEmitResults(emitResults) {
|
|
|
6989
6580
|
return { diagnostics, emitSkipped, emittedFiles };
|
|
6990
6581
|
}
|
|
6991
6582
|
|
|
6992
|
-
// bazel-out/
|
|
6583
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/program.mjs
|
|
6993
6584
|
function createProgram({ rootNames, options, host, oldProgram }) {
|
|
6994
6585
|
return new NgtscProgram(rootNames, options, host, oldProgram);
|
|
6995
6586
|
}
|
|
6996
6587
|
|
|
6997
|
-
// bazel-out/
|
|
6998
|
-
import
|
|
6588
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
|
|
6589
|
+
import ts32 from "typescript";
|
|
6999
6590
|
|
|
7000
|
-
// bazel-out/
|
|
7001
|
-
import
|
|
6591
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/transformers/util.mjs
|
|
6592
|
+
import ts31 from "typescript";
|
|
7002
6593
|
var GENERATED_FILES = /(.*?)\.(ngfactory|shim\.ngstyle|ngstyle|ngsummary)\.(js|d\.ts|ts)$/;
|
|
7003
6594
|
function createMessageDiagnostic(messageText) {
|
|
7004
6595
|
return {
|
|
7005
6596
|
file: void 0,
|
|
7006
6597
|
start: void 0,
|
|
7007
6598
|
length: void 0,
|
|
7008
|
-
category:
|
|
6599
|
+
category: ts31.DiagnosticCategory.Message,
|
|
7009
6600
|
messageText,
|
|
7010
6601
|
code: DEFAULT_ERROR_CODE,
|
|
7011
6602
|
source: SOURCE
|
|
7012
6603
|
};
|
|
7013
6604
|
}
|
|
7014
6605
|
|
|
7015
|
-
// bazel-out/
|
|
6606
|
+
// bazel-out/darwin-fastbuild/bin/packages/compiler-cli/src/perform_compile.mjs
|
|
7016
6607
|
var defaultFormatHost = {
|
|
7017
|
-
getCurrentDirectory: () =>
|
|
6608
|
+
getCurrentDirectory: () => ts32.sys.getCurrentDirectory(),
|
|
7018
6609
|
getCanonicalFileName: (fileName) => fileName,
|
|
7019
|
-
getNewLine: () =>
|
|
6610
|
+
getNewLine: () => ts32.sys.newLine
|
|
7020
6611
|
};
|
|
7021
6612
|
function formatDiagnostics(diags, host = defaultFormatHost) {
|
|
7022
6613
|
if (diags && diags.length) {
|
|
7023
|
-
return diags.map((diagnostic) => replaceTsWithNgInErrors(
|
|
6614
|
+
return diags.map((diagnostic) => replaceTsWithNgInErrors(ts32.formatDiagnosticsWithColorAndContext([diagnostic], host))).join("");
|
|
7024
6615
|
} else {
|
|
7025
6616
|
return "";
|
|
7026
6617
|
}
|
|
@@ -7037,7 +6628,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
|
|
|
7037
6628
|
var _a, _b;
|
|
7038
6629
|
try {
|
|
7039
6630
|
const fs = getFileSystem();
|
|
7040
|
-
const readConfigFile = (configFile) =>
|
|
6631
|
+
const readConfigFile = (configFile) => ts32.readConfigFile(configFile, (file) => host.readFile(host.resolve(file)));
|
|
7041
6632
|
const readAngularCompilerOptions = (configFile, parentOptions = {}) => {
|
|
7042
6633
|
const { config: config2, error: error2 } = readConfigFile(configFile);
|
|
7043
6634
|
if (error2) {
|
|
@@ -7069,7 +6660,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
|
|
|
7069
6660
|
basePath
|
|
7070
6661
|
}, readAngularCompilerOptions(configFileName)), existingOptions);
|
|
7071
6662
|
const parseConfigHost = createParseConfigHost(host, fs);
|
|
7072
|
-
const { options, errors, fileNames: rootNames, projectReferences } =
|
|
6663
|
+
const { options, errors, fileNames: rootNames, projectReferences } = ts32.parseJsonConfigFileContent(config, parseConfigHost, basePath, existingCompilerOptions, configFileName);
|
|
7073
6664
|
options.enableIvy = !!((_a = options.enableIvy) != null ? _a : true);
|
|
7074
6665
|
let emitFlags = EmitFlags.Default;
|
|
7075
6666
|
if (!(options.skipMetadataEmit || options.flatModuleOutFile)) {
|
|
@@ -7081,7 +6672,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
|
|
|
7081
6672
|
return { project: projectFile, rootNames, projectReferences, options, errors, emitFlags };
|
|
7082
6673
|
} catch (e) {
|
|
7083
6674
|
const errors = [{
|
|
7084
|
-
category:
|
|
6675
|
+
category: ts32.DiagnosticCategory.Error,
|
|
7085
6676
|
messageText: (_b = e.stack) != null ? _b : e.message,
|
|
7086
6677
|
file: void 0,
|
|
7087
6678
|
start: void 0,
|
|
@@ -7095,7 +6686,7 @@ function readConfiguration(project, existingOptions, host = getFileSystem()) {
|
|
|
7095
6686
|
function createParseConfigHost(host, fs = getFileSystem()) {
|
|
7096
6687
|
return {
|
|
7097
6688
|
fileExists: host.exists.bind(host),
|
|
7098
|
-
readDirectory:
|
|
6689
|
+
readDirectory: ts32.sys.readDirectory,
|
|
7099
6690
|
readFile: host.readFile.bind(host),
|
|
7100
6691
|
useCaseSensitiveFileNames: fs.isCaseSensitive()
|
|
7101
6692
|
};
|
|
@@ -7115,7 +6706,7 @@ function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
|
|
|
7115
6706
|
}
|
|
7116
6707
|
} else {
|
|
7117
6708
|
const parseConfigHost = createParseConfigHost(host, fs);
|
|
7118
|
-
const { resolvedModule } =
|
|
6709
|
+
const { resolvedModule } = ts32.nodeModuleNameResolver(extendsValue, configFile, { moduleResolution: ts32.ModuleResolutionKind.NodeJs, resolveJsonModule: true }, parseConfigHost);
|
|
7119
6710
|
if (resolvedModule) {
|
|
7120
6711
|
return absoluteFrom(resolvedModule.resolvedFileName);
|
|
7121
6712
|
}
|
|
@@ -7125,7 +6716,7 @@ function getExtendedConfigPathWorker(configFile, extendsValue, host, fs) {
|
|
|
7125
6716
|
function exitCodeFromResult(diags) {
|
|
7126
6717
|
if (!diags)
|
|
7127
6718
|
return 0;
|
|
7128
|
-
if (diags.every((diag) => diag.category !==
|
|
6719
|
+
if (diags.every((diag) => diag.category !== ts32.DiagnosticCategory.Error)) {
|
|
7129
6720
|
return 0;
|
|
7130
6721
|
}
|
|
7131
6722
|
return diags.some((d) => d.source === "angular" && d.code === UNKNOWN_ERROR_CODE) ? 2 : 1;
|
|
@@ -7158,7 +6749,7 @@ function performCompilation({ rootNames, options, host, oldProgram, emitCallback
|
|
|
7158
6749
|
} catch (e) {
|
|
7159
6750
|
program = void 0;
|
|
7160
6751
|
allDiagnostics.push({
|
|
7161
|
-
category:
|
|
6752
|
+
category: ts32.DiagnosticCategory.Error,
|
|
7162
6753
|
messageText: (_a = e.stack) != null ? _a : e.message,
|
|
7163
6754
|
code: UNKNOWN_ERROR_CODE,
|
|
7164
6755
|
file: void 0,
|
|
@@ -7185,7 +6776,7 @@ function defaultGatherDiagnostics(program) {
|
|
|
7185
6776
|
return allDiagnostics;
|
|
7186
6777
|
}
|
|
7187
6778
|
function hasErrors(diags) {
|
|
7188
|
-
return diags.some((d) => d.category ===
|
|
6779
|
+
return diags.some((d) => d.category === ts32.DiagnosticCategory.Error);
|
|
7189
6780
|
}
|
|
7190
6781
|
|
|
7191
6782
|
export {
|
|
@@ -7199,9 +6790,6 @@ export {
|
|
|
7199
6790
|
ImportGraph,
|
|
7200
6791
|
TsCreateProgramDriver,
|
|
7201
6792
|
PatchedProgramIncrementalBuildStrategy,
|
|
7202
|
-
MetadataDtsModuleScopeResolver,
|
|
7203
|
-
LocalModuleScopeRegistry,
|
|
7204
|
-
TypeCheckScopeRegistry,
|
|
7205
6793
|
OptimizeFor,
|
|
7206
6794
|
freshCompilationTicket,
|
|
7207
6795
|
incrementalFromStateTicket,
|
|
@@ -7225,4 +6813,4 @@ export {
|
|
|
7225
6813
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7226
6814
|
* found in the LICENSE file at https://angular.io/license
|
|
7227
6815
|
*/
|
|
7228
|
-
//# sourceMappingURL=chunk-
|
|
6816
|
+
//# sourceMappingURL=chunk-MGNOHKS6.js.map
|