1 | import NameManager from "../NameManager";
|
2 | import TokenProcessor from "../TokenProcessor";
|
3 | import RootTransformer from "../transformers/RootTransformer";
|
4 | export interface ClassHeaderInfo {
|
5 | isExpression: boolean;
|
6 | className: string | null;
|
7 | hasSuperclass: boolean;
|
8 | }
|
9 | export interface TokenRange {
|
10 | start: number;
|
11 | end: number;
|
12 | }
|
13 | export interface FieldInfo extends TokenRange {
|
14 | equalsIndex: number;
|
15 | initializerName: string;
|
16 | }
|
17 |
|
18 |
|
19 |
|
20 |
|
21 | export interface ClassInfo {
|
22 | headerInfo: ClassHeaderInfo;
|
23 | constructorInitializerStatements: Array<string>;
|
24 | instanceInitializerNames: Array<string>;
|
25 | staticInitializerNames: Array<string>;
|
26 | constructorInsertPos: number | null;
|
27 | fields: Array<FieldInfo>;
|
28 | rangesToRemove: Array<TokenRange>;
|
29 | }
|
30 |
|
31 |
|
32 |
|
33 |
|
34 | export default function getClassInfo(rootTransformer: RootTransformer, tokens: TokenProcessor, nameManager: NameManager): ClassInfo;
|