MCPcopy Index your code
hub / github.com/nodejs/node / getPresentModifiers

Function getPresentModifiers

test/fixtures/snapshot/typescript.js:132686–132721  ·  view source on GitHub ↗
(contextToken)

Source from the content-addressed store, hash-verified

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;

Callers 1

Calls 1

isModifierLikeFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…