* Adds statements to the class body function for a class to define the members of the * class. * * @param statements The statements for the class body function. * @param node The ClassExpression or ClassDeclaration node.
(statements, node)
| 99585 | * @param node The ClassExpression or ClassDeclaration node. |
| 99586 | */ |
| 99587 | function addClassMembers(statements, node) { |
| 99588 | for (var _i = 0, _a = node.members; _i < _a.length; _i++) { |
| 99589 | var member = _a[_i]; |
| 99590 | switch (member.kind) { |
| 99591 | case 234 /* SyntaxKind.SemicolonClassElement */: |
| 99592 | statements.push(transformSemicolonClassElementToStatement(member)); |
| 99593 | break; |
| 99594 | case 169 /* SyntaxKind.MethodDeclaration */: |
| 99595 | statements.push(transformClassMethodDeclarationToStatement(getClassMemberPrefix(node, member), member, node)); |
| 99596 | break; |
| 99597 | case 172 /* SyntaxKind.GetAccessor */: |
| 99598 | case 173 /* SyntaxKind.SetAccessor */: |
| 99599 | var accessors = ts.getAllAccessorDeclarations(node.members, member); |
| 99600 | if (member === accessors.firstAccessor) { |
| 99601 | statements.push(transformAccessorsToStatement(getClassMemberPrefix(node, member), accessors, node)); |
| 99602 | } |
| 99603 | break; |
| 99604 | case 171 /* SyntaxKind.Constructor */: |
| 99605 | case 170 /* SyntaxKind.ClassStaticBlockDeclaration */: |
| 99606 | // Constructors are handled in visitClassExpression/visitClassDeclaration |
| 99607 | break; |
| 99608 | default: |
| 99609 | ts.Debug.failBadSyntaxKind(member, currentSourceFile && currentSourceFile.fileName); |
| 99610 | break; |
| 99611 | } |
| 99612 | } |
| 99613 | } |
| 99614 | /** |
| 99615 | * Transforms a SemicolonClassElement into a statement for a class body function. |
| 99616 | * |
no test coverage detected
searching dependent graphs…