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

Function parsePostfixTypeOrHigher

test/fixtures/snapshot/typescript.js:34072–34106  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

34070 return token() === 21 /* SyntaxKind.CloseParenToken */ || isStartOfParameter(/*isJSDocParameter*/ false) || isStartOfType();
34071 }
34072 function parsePostfixTypeOrHigher() {
34073 var pos = getNodePos();
34074 var type = parseNonArrayType();
34075 while (!scanner.hasPrecedingLineBreak()) {
34076 switch (token()) {
34077 case 53 /* SyntaxKind.ExclamationToken */:
34078 nextToken();
34079 type = finishNode(factory.createJSDocNonNullableType(type, /*postfix*/ true), pos);
34080 break;
34081 case 57 /* SyntaxKind.QuestionToken */:
34082 // If next token is start of a type we have a conditional type
34083 if (lookAhead(nextTokenIsStartOfType)) {
34084 return type;
34085 }
34086 nextToken();
34087 type = finishNode(factory.createJSDocNullableType(type, /*postfix*/ true), pos);
34088 break;
34089 case 22 /* SyntaxKind.OpenBracketToken */:
34090 parseExpected(22 /* SyntaxKind.OpenBracketToken */);
34091 if (isStartOfType()) {
34092 var indexType = parseType();
34093 parseExpected(23 /* SyntaxKind.CloseBracketToken */);
34094 type = finishNode(factory.createIndexedAccessTypeNode(type, indexType), pos);
34095 }
34096 else {
34097 parseExpected(23 /* SyntaxKind.CloseBracketToken */);
34098 type = finishNode(factory.createArrayTypeNode(type), pos);
34099 }
34100 break;
34101 default:
34102 return type;
34103 }
34104 }
34105 return type;
34106 }
34107 function parseTypeOperator(operator) {
34108 var pos = getNodePos();
34109 parseExpected(operator);

Callers

nothing calls this directly

Calls 9

getNodePosFunction · 0.85
parseNonArrayTypeFunction · 0.85
nextTokenFunction · 0.85
finishNodeFunction · 0.85
lookAheadFunction · 0.85
parseExpectedFunction · 0.85
isStartOfTypeFunction · 0.85
parseTypeFunction · 0.85
tokenFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…