@angular/compiler-cli 22.0.0-next.4 → 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.
- package/bundles/{chunk-AI2LKYE3.js → chunk-456UYWVI.js} +4 -3
- package/bundles/{chunk-AI2LKYE3.js.map → chunk-456UYWVI.js.map} +1 -1
- package/bundles/{chunk-ARNGIZEA.js → chunk-AQWJY4QK.js} +5030 -486
- package/bundles/chunk-AQWJY4QK.js.map +6 -0
- package/bundles/{chunk-BCQGTZBZ.js → chunk-F56AXDTP.js} +1813 -6367
- package/bundles/chunk-F56AXDTP.js.map +6 -0
- package/bundles/{chunk-TXJNNYJ4.js → chunk-G4HQADYD.js} +2 -2
- package/bundles/{chunk-6IEU2J75.js → chunk-RALPCPVT.js} +42 -36
- package/bundles/{chunk-6IEU2J75.js.map → chunk-RALPCPVT.js.map} +1 -1
- package/bundles/{chunk-33PKOB6H.js → chunk-TQQE4HRK.js} +8 -8
- package/bundles/index.js +10 -8
- package/bundles/index.js.map +1 -1
- package/bundles/linker/babel/index.js +1 -1
- package/bundles/linker/index.js +1 -1
- package/bundles/private/hybrid_analysis.js +3 -1
- package/bundles/private/migrations.js +17 -17
- package/bundles/private/testing.js +2 -2
- package/bundles/private/tooling.js +2 -2
- package/bundles/src/bin/ng_xi18n.js +5 -5
- package/bundles/src/bin/ngc.js +5 -5
- package/linker/src/file_linker/partial_linkers/partial_component_linker_1.d.ts +1 -1
- package/linker/src/file_linker/partial_linkers/util.d.ts +1 -1
- package/package.json +3 -3
- package/private/hybrid_analysis.d.ts +2 -2
- package/src/ngtsc/annotations/directive/src/shared.d.ts +5 -3
- package/src/ngtsc/core/api/src/public_options.d.ts +1 -1
- package/src/ngtsc/core/src/compiler.d.ts +6 -1
- package/src/ngtsc/diagnostics/src/error_code.d.ts +4 -0
- package/src/ngtsc/typecheck/api/index.d.ts +1 -0
- package/src/ngtsc/typecheck/api/oob.d.ts +140 -0
- package/src/ngtsc/typecheck/src/context.d.ts +6 -3
- package/src/ngtsc/typecheck/src/host_bindings.d.ts +51 -9
- package/src/ngtsc/typecheck/src/oob.d.ts +5 -131
- package/src/ngtsc/typecheck/src/ops/context.d.ts +3 -4
- package/src/ngtsc/typecheck/src/type_check_block.d.ts +2 -3
- package/src/ngtsc/typecheck/src/type_check_file.d.ts +2 -3
- package/bundles/chunk-ARNGIZEA.js.map +0 -6
- package/bundles/chunk-BCQGTZBZ.js.map +0 -6
- /package/bundles/{chunk-TXJNNYJ4.js.map → chunk-G4HQADYD.js.map} +0 -0
- /package/bundles/{chunk-33PKOB6H.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 {
|
|
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():
|
|
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:
|
|
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 '
|
|
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
|
|
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
|
*
|
|
@@ -5,10 +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
11
|
/**
|
|
13
12
|
* Given a `ts.ClassDeclaration` for a component, and metadata regarding that component, compose a
|
|
14
13
|
* "type check block" function.
|
|
@@ -33,4 +32,4 @@ import { OutOfBandDiagnosticRecorder } from './oob';
|
|
|
33
32
|
* @param genericContextBehavior controls how generic parameters (especially parameters with generic
|
|
34
33
|
* bounds) will be referenced from the generated TCB code.
|
|
35
34
|
*/
|
|
36
|
-
export declare function generateTypeCheckBlock(env: Environment, component: TcbComponentMetadata, name: string, meta: TcbTypeCheckBlockMetadata, domSchemaChecker: DomSchemaChecker, oobRecorder: OutOfBandDiagnosticRecorder): 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
|
|
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
|
}
|