@angular/compiler-cli 22.0.0-next.3 → 22.0.0-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/bundles/{chunk-HFKTR5QY.js → chunk-456UYWVI.js} +5 -4
  2. package/bundles/chunk-456UYWVI.js.map +6 -0
  3. package/bundles/{chunk-XSRMZ57L.js → chunk-AQWJY4QK.js} +5075 -534
  4. package/bundles/chunk-AQWJY4QK.js.map +6 -0
  5. package/bundles/{chunk-5EGV6MZF.js → chunk-F56AXDTP.js} +1831 -6350
  6. package/bundles/chunk-F56AXDTP.js.map +6 -0
  7. package/bundles/{chunk-UUQRZWDP.js → chunk-G4HQADYD.js} +2 -2
  8. package/bundles/{chunk-I6T4FEIP.js → chunk-L35AQF75.js} +84 -37
  9. package/bundles/chunk-L35AQF75.js.map +6 -0
  10. package/bundles/{chunk-NPMPTFII.js → chunk-RALPCPVT.js} +76 -40
  11. package/bundles/{chunk-NPMPTFII.js.map → chunk-RALPCPVT.js.map} +1 -1
  12. package/bundles/{chunk-EAE5KCUR.js → chunk-TQQE4HRK.js} +8 -8
  13. package/bundles/index.js +11 -9
  14. package/bundles/index.js.map +1 -1
  15. package/bundles/linker/babel/index.js +69 -12
  16. package/bundles/linker/babel/index.js.map +1 -1
  17. package/bundles/linker/index.js +2 -2
  18. package/bundles/private/hybrid_analysis.js +4 -2
  19. package/bundles/private/migrations.js +18 -18
  20. package/bundles/private/testing.js +38 -11
  21. package/bundles/private/testing.js.map +2 -2
  22. package/bundles/private/tooling.js +3 -3
  23. package/bundles/src/bin/ng_xi18n.js +6 -6
  24. package/bundles/src/bin/ngc.js +6 -6
  25. package/linker/babel/src/ast/babel_ast_factory.d.ts +15 -8
  26. package/linker/src/file_linker/emit_scopes/emit_scope.d.ts +3 -3
  27. package/linker/src/file_linker/emit_scopes/local_emit_scope.d.ts +1 -1
  28. package/linker/src/file_linker/file_linker.d.ts +2 -2
  29. package/linker/src/file_linker/linker_environment.d.ts +4 -4
  30. package/linker/src/file_linker/partial_linkers/partial_component_linker_1.d.ts +1 -1
  31. package/linker/src/file_linker/partial_linkers/partial_linker_selector.d.ts +1 -1
  32. package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
  33. package/linker/src/file_linker/translator.d.ts +2 -2
  34. package/linker/src/linker_import_generator.d.ts +2 -2
  35. package/package.json +3 -3
  36. package/private/hybrid_analysis.d.ts +2 -2
  37. package/src/ngtsc/annotations/directive/src/shared.d.ts +5 -3
  38. package/src/ngtsc/core/api/src/public_options.d.ts +1 -1
  39. package/src/ngtsc/core/src/compiler.d.ts +6 -1
  40. package/src/ngtsc/diagnostics/src/error_code.d.ts +4 -0
  41. package/src/ngtsc/file_system/testing/index.d.ts +1 -1
  42. package/src/ngtsc/file_system/testing/src/test_helper.d.ts +1 -0
  43. package/src/ngtsc/translator/src/api/ast_factory.d.ts +38 -6
  44. package/src/ngtsc/translator/src/translator.d.ts +8 -2
  45. package/src/ngtsc/translator/src/typescript_ast_factory.d.ts +12 -6
  46. package/src/ngtsc/typecheck/api/api.d.ts +2 -1
  47. package/src/ngtsc/typecheck/api/index.d.ts +1 -0
  48. package/src/ngtsc/typecheck/api/oob.d.ts +140 -0
  49. package/src/ngtsc/typecheck/src/context.d.ts +6 -3
  50. package/src/ngtsc/typecheck/src/host_bindings.d.ts +51 -9
  51. package/src/ngtsc/typecheck/src/oob.d.ts +5 -131
  52. package/src/ngtsc/typecheck/src/ops/context.d.ts +3 -4
  53. package/src/ngtsc/typecheck/src/tcb_adapter.d.ts +2 -1
  54. package/src/ngtsc/typecheck/src/type_check_block.d.ts +2 -4
  55. package/src/ngtsc/typecheck/src/type_check_file.d.ts +2 -3
  56. package/bundles/chunk-5EGV6MZF.js.map +0 -6
  57. package/bundles/chunk-HFKTR5QY.js.map +0 -6
  58. package/bundles/chunk-I6T4FEIP.js.map +0 -6
  59. package/bundles/chunk-XSRMZ57L.js.map +0 -6
  60. /package/bundles/{chunk-UUQRZWDP.js.map → chunk-G4HQADYD.js.map} +0 -0
  61. /package/bundles/{chunk-EAE5KCUR.js.map → chunk-TQQE4HRK.js.map} +0 -0
@@ -7,134 +7,9 @@
7
7
  */
8
8
  import { AST, BindingPipe, PropertyRead, TmplAstBoundAttribute, TmplAstBoundEvent, TmplAstComponent, TmplAstDirective, TmplAstElement, TmplAstForLoopBlock, TmplAstForLoopBlockEmpty, TmplAstHoverDeferredTrigger, TmplAstIfBlockBranch, TmplAstInteractionDeferredTrigger, TmplAstLetDeclaration, TmplAstReference, TmplAstSwitchBlockCase, TmplAstTemplate, TmplAstTextAttribute, TmplAstVariable, TmplAstViewportDeferredTrigger } from '@angular/compiler';
9
9
  import ts from 'typescript';
10
- import { ClassDeclaration } from '../../reflection';
11
- import { TcbDirectiveMetadata, TemplateDiagnostic, TypeCheckId } from '../api';
10
+ import { OutOfBadDiagnosticCategory, OutOfBandDiagnosticRecorder, TcbDirectiveMetadata, TemplateDiagnostic, TypeCheckId } from '../api';
12
11
  import { TypeCheckSourceResolver } from './tcb_util';
13
- /**
14
- * Collects `ts.Diagnostic`s on problems which occur in the template which aren't directly sourced
15
- * from Type Check Blocks.
16
- *
17
- * During the creation of a Type Check Block, the template is traversed and the
18
- * `OutOfBandDiagnosticRecorder` is called to record cases when a correct interpretation for the
19
- * template cannot be found. These operations create `ts.Diagnostic`s which are stored by the
20
- * recorder for later display.
21
- */
22
- export interface OutOfBandDiagnosticRecorder {
23
- readonly diagnostics: ReadonlyArray<TemplateDiagnostic>;
24
- /**
25
- * Reports a `#ref="target"` expression in the template for which a target directive could not be
26
- * found.
27
- *
28
- * @param id the type-checking ID of the template which contains the broken reference.
29
- * @param ref the `TmplAstReference` which could not be matched to a directive.
30
- */
31
- missingReferenceTarget(id: TypeCheckId, ref: TmplAstReference): void;
32
- /**
33
- * Reports usage of a `| pipe` expression in the template for which the named pipe could not be
34
- * found.
35
- *
36
- * @param id the type-checking ID of the template which contains the unknown pipe.
37
- * @param ast the `BindingPipe` invocation of the pipe which could not be found.
38
- * @param isStandalone whether the host component is standalone.
39
- */
40
- missingPipe(id: TypeCheckId, ast: BindingPipe, isStandalone: boolean): void;
41
- /**
42
- * Reports usage of a pipe imported via `@Component.deferredImports` outside
43
- * of a `@defer` block in a template.
44
- *
45
- * @param id the type-checking ID of the template which contains the unknown pipe.
46
- * @param ast the `BindingPipe` invocation of the pipe which could not be found.
47
- */
48
- deferredPipeUsedEagerly(id: TypeCheckId, ast: BindingPipe): void;
49
- /**
50
- * Reports usage of a component/directive imported via `@Component.deferredImports` outside
51
- * of a `@defer` block in a template.
52
- *
53
- * @param id the type-checking ID of the template which contains the unknown pipe.
54
- * @param element the element which hosts a component that was defer-loaded.
55
- */
56
- deferredComponentUsedEagerly(id: TypeCheckId, element: TmplAstElement): void;
57
- /**
58
- * Reports a duplicate declaration of a template variable.
59
- *
60
- * @param id the type-checking ID of the template which contains the duplicate
61
- * declaration.
62
- * @param variable the `TmplAstVariable` which duplicates a previously declared variable.
63
- * @param firstDecl the first variable declaration which uses the same name as `variable`.
64
- */
65
- duplicateTemplateVar(id: TypeCheckId, variable: TmplAstVariable, firstDecl: TmplAstVariable): void;
66
- requiresInlineTcb(id: TypeCheckId, node: ClassDeclaration): void;
67
- requiresInlineTypeConstructors(id: TypeCheckId, node: ClassDeclaration, directives: ClassDeclaration[]): void;
68
- /**
69
- * Report a warning when structural directives support context guards, but the current
70
- * type-checking configuration prohibits their usage.
71
- */
72
- suboptimalTypeInference(id: TypeCheckId, variables: TmplAstVariable[]): void;
73
- /**
74
- * Reports a split two way binding error message.
75
- */
76
- splitTwoWayBinding(id: TypeCheckId, input: TmplAstBoundAttribute, output: TmplAstBoundEvent, inputConsumer: Pick<TcbDirectiveMetadata, 'name' | 'isComponent' | 'ref'>, outputConsumer: Pick<TcbDirectiveMetadata, 'name' | 'isComponent' | 'ref'> | TmplAstElement): void;
77
- /** Reports required inputs that haven't been bound. */
78
- missingRequiredInputs(id: TypeCheckId, element: TmplAstElement | TmplAstTemplate | TmplAstComponent | TmplAstDirective, directiveName: string, isComponent: boolean, inputAliases: string[]): void;
79
- /**
80
- * Reports accesses of properties that aren't available in a `for` block's tracking expression.
81
- */
82
- illegalForLoopTrackAccess(id: TypeCheckId, block: TmplAstForLoopBlock, access: PropertyRead): void;
83
- /**
84
- * Reports deferred triggers that cannot access the element they're referring to.
85
- */
86
- inaccessibleDeferredTriggerElement(id: TypeCheckId, trigger: TmplAstHoverDeferredTrigger | TmplAstInteractionDeferredTrigger | TmplAstViewportDeferredTrigger): void;
87
- /**
88
- * Reports cases where control flow nodes prevent content projection.
89
- */
90
- controlFlowPreventingContentProjection(id: TypeCheckId, category: ts.DiagnosticCategory, projectionNode: TmplAstElement | TmplAstTemplate, componentName: string, slotSelector: string, controlFlowNode: TmplAstIfBlockBranch | TmplAstSwitchBlockCase | TmplAstForLoopBlock | TmplAstForLoopBlockEmpty, preservesWhitespaces: boolean): void;
91
- /** Reports cases where users are writing to `@let` declarations. */
92
- illegalWriteToLetDeclaration(id: TypeCheckId, node: AST, target: TmplAstLetDeclaration): void;
93
- /** Reports cases where users are accessing an `@let` before it is defined.. */
94
- letUsedBeforeDefinition(id: TypeCheckId, node: PropertyRead, target: TmplAstLetDeclaration): void;
95
- /**
96
- * Reports a `@let` declaration that conflicts with another symbol in the same scope.
97
- *
98
- * @param id the type-checking ID of the template which contains the declaration.
99
- * @param current the `TmplAstLetDeclaration` which is invalid.
100
- */
101
- conflictingDeclaration(id: TypeCheckId, current: TmplAstLetDeclaration): void;
102
- /**
103
- * Reports that a named template dependency (e.g. `<Missing/>`) is not available.
104
- * @param id Type checking ID of the template in which the dependency is declared.
105
- * @param node Node that declares the dependency.
106
- */
107
- missingNamedTemplateDependency(id: TypeCheckId, node: TmplAstComponent | TmplAstDirective): void;
108
- /**
109
- * Reports that a templace dependency of the wrong kind has been referenced at a specific position
110
- * (e.g. `<SomeDirective/>`).
111
- * @param id Type checking ID of the template in which the dependency is declared.
112
- * @param node Node that declares the dependency.
113
- */
114
- incorrectTemplateDependencyType(id: TypeCheckId, node: TmplAstComponent | TmplAstDirective): void;
115
- /**
116
- * Reports a binding inside directive syntax that does not match any of the inputs/outputs of
117
- * the directive.
118
- * @param id Type checking ID of the template in which the directive was defined.
119
- * @param directive Directive that contains the binding.
120
- * @param node Node declaring the binding.
121
- */
122
- unclaimedDirectiveBinding(id: TypeCheckId, directive: TmplAstDirective, node: TmplAstBoundAttribute | TmplAstTextAttribute | TmplAstBoundEvent): void;
123
- /**
124
- * Reports that an implicit deferred trigger is set on a block that does not have a placeholder.
125
- */
126
- deferImplicitTriggerMissingPlaceholder(id: TypeCheckId, trigger: TmplAstHoverDeferredTrigger | TmplAstInteractionDeferredTrigger | TmplAstViewportDeferredTrigger): void;
127
- /**
128
- * Reports that an implicit deferred trigger is set on a block whose placeholder is not set up
129
- * correctly (e.g. more than one root node).
130
- */
131
- deferImplicitTriggerInvalidPlaceholder(id: TypeCheckId, trigger: TmplAstHoverDeferredTrigger | TmplAstInteractionDeferredTrigger | TmplAstViewportDeferredTrigger): void;
132
- /**
133
- * Reports an unsupported binding on a form `FormField` node.
134
- */
135
- formFieldUnsupportedBinding(id: TypeCheckId, node: TmplAstBoundAttribute | TmplAstTextAttribute): void;
136
- }
137
- export declare class OutOfBandDiagnosticRecorderImpl implements OutOfBandDiagnosticRecorder {
12
+ export declare class OutOfBandDiagnosticRecorderImpl implements OutOfBandDiagnosticRecorder<TemplateDiagnostic> {
138
13
  private resolver;
139
14
  private getSourceFile;
140
15
  private readonly _diagnostics;
@@ -146,20 +21,18 @@ export declare class OutOfBandDiagnosticRecorderImpl implements OutOfBandDiagnos
146
21
  /** Common pipes that can be suggested to users. */
147
22
  private readonly pipeSuggestions;
148
23
  constructor(resolver: TypeCheckSourceResolver, getSourceFile?: (fileName: string) => ts.SourceFile | undefined);
149
- get diagnostics(): ReadonlyArray<TemplateDiagnostic>;
24
+ get diagnostics(): TemplateDiagnostic[];
150
25
  missingReferenceTarget(id: TypeCheckId, ref: TmplAstReference): void;
151
26
  missingPipe(id: TypeCheckId, ast: BindingPipe, isStandalone: boolean): void;
152
27
  deferredPipeUsedEagerly(id: TypeCheckId, ast: BindingPipe): void;
153
28
  deferredComponentUsedEagerly(id: TypeCheckId, element: TmplAstElement): void;
154
29
  duplicateTemplateVar(id: TypeCheckId, variable: TmplAstVariable, firstDecl: TmplAstVariable): void;
155
- requiresInlineTcb(id: TypeCheckId, node: ClassDeclaration): void;
156
- requiresInlineTypeConstructors(id: TypeCheckId, node: ClassDeclaration, directives: ClassDeclaration[]): void;
157
30
  suboptimalTypeInference(id: TypeCheckId, variables: TmplAstVariable[]): void;
158
31
  splitTwoWayBinding(id: TypeCheckId, input: TmplAstBoundAttribute, output: TmplAstBoundEvent, inputConsumer: Pick<TcbDirectiveMetadata, 'name' | 'isComponent' | 'ref'>, outputConsumer: Pick<TcbDirectiveMetadata, 'name' | 'isComponent' | 'ref'> | TmplAstElement): void;
159
32
  missingRequiredInputs(id: TypeCheckId, element: TmplAstElement | TmplAstTemplate | TmplAstComponent | TmplAstDirective, directiveName: string, isComponent: boolean, inputAliases: string[]): void;
160
33
  illegalForLoopTrackAccess(id: TypeCheckId, block: TmplAstForLoopBlock, access: PropertyRead): void;
161
34
  inaccessibleDeferredTriggerElement(id: TypeCheckId, trigger: TmplAstHoverDeferredTrigger | TmplAstInteractionDeferredTrigger | TmplAstViewportDeferredTrigger): void;
162
- controlFlowPreventingContentProjection(id: TypeCheckId, category: ts.DiagnosticCategory, projectionNode: TmplAstElement | TmplAstTemplate, componentName: string, slotSelector: string, controlFlowNode: TmplAstIfBlockBranch | TmplAstSwitchBlockCase | TmplAstForLoopBlock | TmplAstForLoopBlockEmpty, preservesWhitespaces: boolean): void;
35
+ controlFlowPreventingContentProjection(id: TypeCheckId, category: OutOfBadDiagnosticCategory, projectionNode: TmplAstElement | TmplAstTemplate, componentName: string, slotSelector: string, controlFlowNode: TmplAstIfBlockBranch | TmplAstSwitchBlockCase | TmplAstForLoopBlock | TmplAstForLoopBlockEmpty, preservesWhitespaces: boolean): void;
163
36
  illegalWriteToLetDeclaration(id: TypeCheckId, node: AST, target: TmplAstLetDeclaration): void;
164
37
  letUsedBeforeDefinition(id: TypeCheckId, node: PropertyRead, target: TmplAstLetDeclaration): void;
165
38
  conflictingDeclaration(id: TypeCheckId, decl: TmplAstLetDeclaration): void;
@@ -169,4 +42,5 @@ export declare class OutOfBandDiagnosticRecorderImpl implements OutOfBandDiagnos
169
42
  deferImplicitTriggerMissingPlaceholder(id: TypeCheckId, trigger: TmplAstHoverDeferredTrigger | TmplAstInteractionDeferredTrigger | TmplAstViewportDeferredTrigger): void;
170
43
  deferImplicitTriggerInvalidPlaceholder(id: TypeCheckId, trigger: TmplAstHoverDeferredTrigger | TmplAstInteractionDeferredTrigger | TmplAstViewportDeferredTrigger): void;
171
44
  formFieldUnsupportedBinding(id: TypeCheckId, node: TmplAstBoundAttribute | TmplAstTextAttribute): void;
45
+ multipleMatchingComponents(id: TypeCheckId, element: TmplAstElement, componentNames: string[]): void;
172
46
  }
@@ -7,8 +7,7 @@
7
7
  */
8
8
  import { BoundTarget, SchemaMetadata } from '@angular/compiler';
9
9
  import { DomSchemaChecker } from '../dom';
10
- import { OutOfBandDiagnosticRecorder } from '../oob';
11
- import { TypeCheckId, TcbDirectiveMetadata, TcbPipeMetadata } from '../../api';
10
+ import { TypeCheckId, TcbDirectiveMetadata, TcbPipeMetadata, OutOfBandDiagnosticRecorder } from '../../api';
12
11
  import { Environment } from '../environment';
13
12
  /**
14
13
  * Controls how generics for the component context class will be handled during TCB generation.
@@ -45,7 +44,7 @@ export declare enum TcbGenericContextBehavior {
45
44
  export declare class Context {
46
45
  readonly env: Environment;
47
46
  readonly domSchemaChecker: DomSchemaChecker;
48
- readonly oobRecorder: OutOfBandDiagnosticRecorder;
47
+ readonly oobRecorder: OutOfBandDiagnosticRecorder<unknown>;
49
48
  readonly id: TypeCheckId;
50
49
  readonly boundTarget: BoundTarget<TcbDirectiveMetadata>;
51
50
  private pipes;
@@ -53,7 +52,7 @@ export declare class Context {
53
52
  readonly hostIsStandalone: boolean;
54
53
  readonly hostPreserveWhitespaces: boolean;
55
54
  private nextId;
56
- constructor(env: Environment, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder, id: TypeCheckId, boundTarget: BoundTarget<TcbDirectiveMetadata>, pipes: Map<string, TcbPipeMetadata> | null, schemas: SchemaMetadata[], hostIsStandalone: boolean, hostPreserveWhitespaces: boolean);
55
+ constructor(env: Environment, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder<unknown>, id: TypeCheckId, boundTarget: BoundTarget<TcbDirectiveMetadata>, pipes: Map<string, TcbPipeMetadata> | null, schemas: SchemaMetadata[], hostIsStandalone: boolean, hostPreserveWhitespaces: boolean);
57
56
  /**
58
57
  * Allocate a new variable name for use within the `Context`.
59
58
  *
@@ -10,11 +10,12 @@ import { Environment } from './environment';
10
10
  import { Reference } from '../../imports';
11
11
  import { ClassDeclaration } from '../../reflection';
12
12
  import ts from 'typescript';
13
+ import { TcbGenericContextBehavior } from './ops/context';
13
14
  /**
14
15
  * Adapts the compiler's `TypeCheckBlockMetadata` (which includes full TS AST nodes)
15
16
  * into a purely detached `TcbTypeCheckBlockMetadata` that can be mapped to JSON.
16
17
  */
17
- export declare function adaptTypeCheckBlockMetadata(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, meta: TypeCheckBlockMetadata, env: Environment): {
18
+ export declare function adaptTypeCheckBlockMetadata(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, meta: TypeCheckBlockMetadata, env: Environment, genericContextBehavior: TcbGenericContextBehavior): {
18
19
  tcbMeta: TcbTypeCheckBlockMetadata;
19
20
  component: TcbComponentMetadata;
20
21
  };
@@ -5,11 +5,9 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import { TcbComponentMetadata, TcbTypeCheckBlockMetadata } from '../api';
8
+ import { OutOfBandDiagnosticRecorder, TcbComponentMetadata, TcbTypeCheckBlockMetadata } from '../api';
9
9
  import { DomSchemaChecker } from './dom';
10
10
  import { Environment } from './environment';
11
- import { OutOfBandDiagnosticRecorder } from './oob';
12
- import { TcbGenericContextBehavior } from './ops/context';
13
11
  /**
14
12
  * Given a `ts.ClassDeclaration` for a component, and metadata regarding that component, compose a
15
13
  * "type check block" function.
@@ -34,4 +32,4 @@ import { TcbGenericContextBehavior } from './ops/context';
34
32
  * @param genericContextBehavior controls how generic parameters (especially parameters with generic
35
33
  * bounds) will be referenced from the generated TCB code.
36
34
  */
37
- export declare function generateTypeCheckBlock(env: Environment, component: TcbComponentMetadata, name: string, meta: TcbTypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder, genericContextBehavior: TcbGenericContextBehavior): string;
35
+ export declare function generateTypeCheckBlock(env: Environment, component: TcbComponentMetadata, name: string, meta: TcbTypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder<unknown>): string;
@@ -9,10 +9,9 @@ import ts from 'typescript';
9
9
  import { AbsoluteFsPath } from '../../file_system';
10
10
  import { Reference, ReferenceEmitter } from '../../imports';
11
11
  import { ClassDeclaration, ReflectionHost } from '../../reflection';
12
- import { TypeCheckBlockMetadata, TypeCheckingConfig } from '../api';
12
+ import { OutOfBandDiagnosticRecorder, TypeCheckBlockMetadata, TypeCheckingConfig } from '../api';
13
13
  import { DomSchemaChecker } from './dom';
14
14
  import { Environment } from './environment';
15
- import { OutOfBandDiagnosticRecorder } from './oob';
16
15
  import { TcbGenericContextBehavior } from './ops/context';
17
16
  import { TcbExpr } from './ops/codegen';
18
17
  /**
@@ -29,7 +28,7 @@ export declare class TypeCheckFile extends Environment {
29
28
  private nextTcbId;
30
29
  private tcbStatements;
31
30
  constructor(fileName: AbsoluteFsPath, config: TypeCheckingConfig, refEmitter: ReferenceEmitter, reflector: ReflectionHost, compilerHost: Pick<ts.CompilerHost, 'getCanonicalFileName'>);
32
- addTypeCheckBlock(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, meta: TypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder, genericContextBehavior: TcbGenericContextBehavior): void;
31
+ addTypeCheckBlock(ref: Reference<ClassDeclaration<ts.ClassDeclaration>>, meta: TypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder<unknown>, genericContextBehavior: TcbGenericContextBehavior): void;
33
32
  render(): string;
34
33
  getPreludeStatements(): TcbExpr[];
35
34
  }