1 | /// <amd-module name="@angular/compiler-cli/linker/src/file_linker/file_linker" />
|
---|
2 | import { AbsoluteFsPath } from '../../../src/ngtsc/file_system';
|
---|
3 | import { DeclarationScope } from './declaration_scope';
|
---|
4 | import { LinkerEnvironment } from './linker_environment';
|
---|
5 | export declare const NO_STATEMENTS: Readonly<any[]>;
|
---|
6 | /**
|
---|
7 | * This class is responsible for linking all the partial declarations found in a single file.
|
---|
8 | */
|
---|
9 | export declare class FileLinker<TConstantScope, TStatement, TExpression> {
|
---|
10 | private linkerEnvironment;
|
---|
11 | private linkerSelector;
|
---|
12 | private emitScopes;
|
---|
13 | constructor(linkerEnvironment: LinkerEnvironment<TStatement, TExpression>, sourceUrl: AbsoluteFsPath, code: string);
|
---|
14 | /**
|
---|
15 | * Return true if the given callee name matches a partial declaration that can be linked.
|
---|
16 | */
|
---|
17 | isPartialDeclaration(calleeName: string): boolean;
|
---|
18 | /**
|
---|
19 | * Link the metadata extracted from the args of a call to a partial declaration function.
|
---|
20 | *
|
---|
21 | * The `declarationScope` is used to determine the scope and strategy of emission of the linked
|
---|
22 | * definition and any shared constant statements.
|
---|
23 | *
|
---|
24 | * @param declarationFn the name of the function used to declare the partial declaration - e.g.
|
---|
25 | * `ɵɵngDeclareDirective`.
|
---|
26 | * @param args the arguments passed to the declaration function, should be a single object that
|
---|
27 | * corresponds to the `R3DeclareDirectiveMetadata` or `R3DeclareComponentMetadata` interfaces.
|
---|
28 | * @param declarationScope the scope that contains this call to the declaration function.
|
---|
29 | */
|
---|
30 | linkPartialDeclaration(declarationFn: string, args: TExpression[], declarationScope: DeclarationScope<TConstantScope, TExpression>): TExpression;
|
---|
31 | /**
|
---|
32 | * Return all the shared constant statements and their associated constant scope references, so
|
---|
33 | * that they can be inserted into the source code.
|
---|
34 | */
|
---|
35 | getConstantStatements(): {
|
---|
36 | constantScope: TConstantScope;
|
---|
37 | statements: TStatement[];
|
---|
38 | }[];
|
---|
39 | private getEmitScope;
|
---|
40 | }
|
---|