(contextToken)
| 132684 | return { insertText: insertText, isSnippet: isSnippet, importAdder: importAdder, replacementSpan: replacementSpan }; |
| 132685 | } |
| 132686 | function getPresentModifiers(contextToken) { |
| 132687 | if (!contextToken) { |
| 132688 | return { modifiers: 0 /* ModifierFlags.None */ }; |
| 132689 | } |
| 132690 | var modifiers = 0 /* ModifierFlags.None */; |
| 132691 | var span; |
| 132692 | var contextMod; |
| 132693 | /* |
| 132694 | Cases supported: |
| 132695 | In |
| 132696 | `class C { |
| 132697 | public abstract | |
| 132698 | }` |
| 132699 | `contextToken` is ``abstract`` (as an identifier), |
| 132700 | `contextToken.parent` is property declaration, |
| 132701 | `location` is class declaration ``class C { ... }``. |
| 132702 | In |
| 132703 | `class C { |
| 132704 | protected override m| |
| 132705 | }` |
| 132706 | `contextToken` is ``override`` (as a keyword), |
| 132707 | `contextToken.parent` is property declaration, |
| 132708 | `location` is identifier ``m``, |
| 132709 | `location.parent` is property declaration ``protected override m``, |
| 132710 | `location.parent.parent` is class declaration ``class C { ... }``. |
| 132711 | */ |
| 132712 | if (contextMod = isModifierLike(contextToken)) { |
| 132713 | modifiers |= ts.modifierToFlag(contextMod); |
| 132714 | span = ts.createTextSpanFromNode(contextToken); |
| 132715 | } |
| 132716 | if (ts.isPropertyDeclaration(contextToken.parent)) { |
| 132717 | modifiers |= ts.modifiersToFlags(contextToken.parent.modifiers); |
| 132718 | span = ts.createTextSpanFromNode(contextToken.parent); |
| 132719 | } |
| 132720 | return { modifiers: modifiers, span: span }; |
| 132721 | } |
| 132722 | function isModifierLike(node) { |
| 132723 | if (ts.isModifier(node)) { |
| 132724 | return node.kind; |
no test coverage detected
searching dependent graphs…