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

Function parseClassDeclarationOrExpression

test/fixtures/snapshot/typescript.js:36858–36882  ·  view source on GitHub ↗
(pos, hasJSDoc, decorators, modifiers, kind)

Source from the content-addressed store, hash-verified

36856 return parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, 257 /* SyntaxKind.ClassDeclaration */);
36857 }
36858 function parseClassDeclarationOrExpression(pos, hasJSDoc, decorators, modifiers, kind) {
36859 var savedAwaitContext = inAwaitContext();
36860 parseExpected(84 /* SyntaxKind.ClassKeyword */);
36861 // We don't parse the name here in await context, instead we will report a grammar error in the checker.
36862 var name = parseNameOfClassDeclarationOrExpression();
36863 var typeParameters = parseTypeParameters();
36864 if (ts.some(modifiers, ts.isExportModifier))
36865 setAwaitContext(/*value*/ true);
36866 var heritageClauses = parseHeritageClauses();
36867 var members;
36868 if (parseExpected(18 /* SyntaxKind.OpenBraceToken */)) {
36869 // ClassTail[Yield,Await] : (Modified) See 14.5
36870 // ClassHeritage[?Yield,?Await]opt { ClassBody[?Yield,?Await]opt }
36871 members = parseClassMembers();
36872 parseExpected(19 /* SyntaxKind.CloseBraceToken */);
36873 }
36874 else {
36875 members = createMissingList();
36876 }
36877 setAwaitContext(savedAwaitContext);
36878 var node = kind === 257 /* SyntaxKind.ClassDeclaration */
36879 ? factory.createClassDeclaration(decorators, modifiers, name, typeParameters, heritageClauses, members)
36880 : factory.createClassExpression(decorators, modifiers, name, typeParameters, heritageClauses, members);
36881 return withJSDoc(finishNode(node, pos), hasJSDoc);
36882 }
36883 function parseNameOfClassDeclarationOrExpression() {
36884 // implements is a future reserved word so
36885 // 'class implements' might mean either

Callers 2

parseClassExpressionFunction · 0.85
parseClassDeclarationFunction · 0.85

Calls 11

inAwaitContextFunction · 0.85
parseExpectedFunction · 0.85
parseTypeParametersFunction · 0.85
setAwaitContextFunction · 0.85
parseHeritageClausesFunction · 0.85
parseClassMembersFunction · 0.85
createMissingListFunction · 0.85
withJSDocFunction · 0.85
finishNodeFunction · 0.85
someMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…