1
- import * as ts from "../_namespaces/ts" ;
1
+ import { Node , objectAllocator , SyntaxKind } from "../_namespaces/ts" ;
2
2
3
3
/**
4
4
* A `BaseNodeFactory` is an abstraction over an `ObjectAllocator` that handles caching `Node` constructors
5
5
* and allocating `Node` instances based on a set of predefined types.
6
6
*/
7
7
/* @internal */
8
8
export interface BaseNodeFactory {
9
- createBaseSourceFileNode ( kind : ts . SyntaxKind ) : ts . Node ;
10
- createBaseIdentifierNode ( kind : ts . SyntaxKind ) : ts . Node ;
11
- createBasePrivateIdentifierNode ( kind : ts . SyntaxKind ) : ts . Node ;
12
- createBaseTokenNode ( kind : ts . SyntaxKind ) : ts . Node ;
13
- createBaseNode ( kind : ts . SyntaxKind ) : ts . Node ;
9
+ createBaseSourceFileNode ( kind : SyntaxKind ) : Node ;
10
+ createBaseIdentifierNode ( kind : SyntaxKind ) : Node ;
11
+ createBasePrivateIdentifierNode ( kind : SyntaxKind ) : Node ;
12
+ createBaseTokenNode ( kind : SyntaxKind ) : Node ;
13
+ createBaseNode ( kind : SyntaxKind ) : Node ;
14
14
}
15
15
16
16
/** @internal */
17
17
/**
18
18
* Creates a `BaseNodeFactory` which can be used to create `Node` instances from the constructors provided by the object allocator.
19
19
*/
20
20
export function createBaseNodeFactory ( ) : BaseNodeFactory {
21
- let NodeConstructor : new ( kind : ts . SyntaxKind , pos ?: number , end ?: number ) => ts . Node ;
22
- let TokenConstructor : new ( kind : ts . SyntaxKind , pos ?: number , end ?: number ) => ts . Node ;
23
- let IdentifierConstructor : new ( kind : ts . SyntaxKind , pos ?: number , end ?: number ) => ts . Node ;
24
- let PrivateIdentifierConstructor : new ( kind : ts . SyntaxKind , pos ?: number , end ?: number ) => ts . Node ;
25
- let SourceFileConstructor : new ( kind : ts . SyntaxKind , pos ?: number , end ?: number ) => ts . Node ;
21
+ let NodeConstructor : new ( kind : SyntaxKind , pos ?: number , end ?: number ) => Node ;
22
+ let TokenConstructor : new ( kind : SyntaxKind , pos ?: number , end ?: number ) => Node ;
23
+ let IdentifierConstructor : new ( kind : SyntaxKind , pos ?: number , end ?: number ) => Node ;
24
+ let PrivateIdentifierConstructor : new ( kind : SyntaxKind , pos ?: number , end ?: number ) => Node ;
25
+ let SourceFileConstructor : new ( kind : SyntaxKind , pos ?: number , end ?: number ) => Node ;
26
26
27
27
return {
28
28
createBaseSourceFileNode,
@@ -32,23 +32,23 @@ export function createBaseNodeFactory(): BaseNodeFactory {
32
32
createBaseNode
33
33
} ;
34
34
35
- function createBaseSourceFileNode ( kind : ts . SyntaxKind ) : ts . Node {
36
- return new ( SourceFileConstructor || ( SourceFileConstructor = ts . objectAllocator . getSourceFileConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
35
+ function createBaseSourceFileNode ( kind : SyntaxKind ) : Node {
36
+ return new ( SourceFileConstructor || ( SourceFileConstructor = objectAllocator . getSourceFileConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
37
37
}
38
38
39
- function createBaseIdentifierNode ( kind : ts . SyntaxKind ) : ts . Node {
40
- return new ( IdentifierConstructor || ( IdentifierConstructor = ts . objectAllocator . getIdentifierConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
39
+ function createBaseIdentifierNode ( kind : SyntaxKind ) : Node {
40
+ return new ( IdentifierConstructor || ( IdentifierConstructor = objectAllocator . getIdentifierConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
41
41
}
42
42
43
- function createBasePrivateIdentifierNode ( kind : ts . SyntaxKind ) : ts . Node {
44
- return new ( PrivateIdentifierConstructor || ( PrivateIdentifierConstructor = ts . objectAllocator . getPrivateIdentifierConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
43
+ function createBasePrivateIdentifierNode ( kind : SyntaxKind ) : Node {
44
+ return new ( PrivateIdentifierConstructor || ( PrivateIdentifierConstructor = objectAllocator . getPrivateIdentifierConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
45
45
}
46
46
47
- function createBaseTokenNode ( kind : ts . SyntaxKind ) : ts . Node {
48
- return new ( TokenConstructor || ( TokenConstructor = ts . objectAllocator . getTokenConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
47
+ function createBaseTokenNode ( kind : SyntaxKind ) : Node {
48
+ return new ( TokenConstructor || ( TokenConstructor = objectAllocator . getTokenConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
49
49
}
50
50
51
- function createBaseNode ( kind : ts . SyntaxKind ) : ts . Node {
52
- return new ( NodeConstructor || ( NodeConstructor = ts . objectAllocator . getNodeConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
51
+ function createBaseNode ( kind : SyntaxKind ) : Node {
52
+ return new ( NodeConstructor || ( NodeConstructor = objectAllocator . getNodeConstructor ( ) ) ) ( kind , /*pos*/ - 1 , /*end*/ - 1 ) ;
53
53
}
54
54
}
0 commit comments