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

Function parseFunctionExpression

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

Source from the content-addressed store, hash-verified

35778 return finishNode(factory.createObjectLiteralExpression(properties, multiLine), pos);
35779 }
35780 function parseFunctionExpression() {
35781 // GeneratorExpression:
35782 // function* BindingIdentifier [Yield][opt](FormalParameters[Yield]){ GeneratorBody }
35783 //
35784 // FunctionExpression:
35785 // function BindingIdentifier[opt](FormalParameters){ FunctionBody }
35786 var savedDecoratorContext = inDecoratorContext();
35787 setDecoratorContext(/*val*/ false);
35788 var pos = getNodePos();
35789 var hasJSDoc = hasPrecedingJSDocComment();
35790 var modifiers = parseModifiers();
35791 parseExpected(98 /* SyntaxKind.FunctionKeyword */);
35792 var asteriskToken = parseOptionalToken(41 /* SyntaxKind.AsteriskToken */);
35793 var isGenerator = asteriskToken ? 1 /* SignatureFlags.Yield */ : 0 /* SignatureFlags.None */;
35794 var isAsync = ts.some(modifiers, ts.isAsyncModifier) ? 2 /* SignatureFlags.Await */ : 0 /* SignatureFlags.None */;
35795 var name = isGenerator && isAsync ? doInYieldAndAwaitContext(parseOptionalBindingIdentifier) :
35796 isGenerator ? doInYieldContext(parseOptionalBindingIdentifier) :
35797 isAsync ? doInAwaitContext(parseOptionalBindingIdentifier) :
35798 parseOptionalBindingIdentifier();
35799 var typeParameters = parseTypeParameters();
35800 var parameters = parseParameters(isGenerator | isAsync);
35801 var type = parseReturnType(58 /* SyntaxKind.ColonToken */, /*isType*/ false);
35802 var body = parseFunctionBlock(isGenerator | isAsync);
35803 setDecoratorContext(savedDecoratorContext);
35804 var node = factory.createFunctionExpression(modifiers, asteriskToken, name, typeParameters, parameters, type, body);
35805 return withJSDoc(finishNode(node, pos), hasJSDoc);
35806 }
35807 function parseOptionalBindingIdentifier() {
35808 return isBindingIdentifier() ? parseBindingIdentifier() : undefined;
35809 }

Callers 1

parsePrimaryExpressionFunction · 0.85

Calls 15

inDecoratorContextFunction · 0.85
setDecoratorContextFunction · 0.85
getNodePosFunction · 0.85
hasPrecedingJSDocCommentFunction · 0.85
parseModifiersFunction · 0.85
parseExpectedFunction · 0.85
parseOptionalTokenFunction · 0.85
doInYieldAndAwaitContextFunction · 0.85
doInYieldContextFunction · 0.85
doInAwaitContextFunction · 0.85
parseTypeParametersFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…