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

Function isExpressionNode

test/fixtures/snapshot/typescript.js:16178–16244  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

16176 }
16177 ts.isJSXTagName = isJSXTagName;
16178 function isExpressionNode(node) {
16179 switch (node.kind) {
16180 case 106 /* SyntaxKind.SuperKeyword */:
16181 case 104 /* SyntaxKind.NullKeyword */:
16182 case 110 /* SyntaxKind.TrueKeyword */:
16183 case 95 /* SyntaxKind.FalseKeyword */:
16184 case 13 /* SyntaxKind.RegularExpressionLiteral */:
16185 case 204 /* SyntaxKind.ArrayLiteralExpression */:
16186 case 205 /* SyntaxKind.ObjectLiteralExpression */:
16187 case 206 /* SyntaxKind.PropertyAccessExpression */:
16188 case 207 /* SyntaxKind.ElementAccessExpression */:
16189 case 208 /* SyntaxKind.CallExpression */:
16190 case 209 /* SyntaxKind.NewExpression */:
16191 case 210 /* SyntaxKind.TaggedTemplateExpression */:
16192 case 229 /* SyntaxKind.AsExpression */:
16193 case 211 /* SyntaxKind.TypeAssertionExpression */:
16194 case 230 /* SyntaxKind.NonNullExpression */:
16195 case 212 /* SyntaxKind.ParenthesizedExpression */:
16196 case 213 /* SyntaxKind.FunctionExpression */:
16197 case 226 /* SyntaxKind.ClassExpression */:
16198 case 214 /* SyntaxKind.ArrowFunction */:
16199 case 217 /* SyntaxKind.VoidExpression */:
16200 case 215 /* SyntaxKind.DeleteExpression */:
16201 case 216 /* SyntaxKind.TypeOfExpression */:
16202 case 219 /* SyntaxKind.PrefixUnaryExpression */:
16203 case 220 /* SyntaxKind.PostfixUnaryExpression */:
16204 case 221 /* SyntaxKind.BinaryExpression */:
16205 case 222 /* SyntaxKind.ConditionalExpression */:
16206 case 225 /* SyntaxKind.SpreadElement */:
16207 case 223 /* SyntaxKind.TemplateExpression */:
16208 case 227 /* SyntaxKind.OmittedExpression */:
16209 case 278 /* SyntaxKind.JsxElement */:
16210 case 279 /* SyntaxKind.JsxSelfClosingElement */:
16211 case 282 /* SyntaxKind.JsxFragment */:
16212 case 224 /* SyntaxKind.YieldExpression */:
16213 case 218 /* SyntaxKind.AwaitExpression */:
16214 case 231 /* SyntaxKind.MetaProperty */:
16215 return true;
16216 case 228 /* SyntaxKind.ExpressionWithTypeArguments */:
16217 return !ts.isHeritageClause(node.parent);
16218 case 161 /* SyntaxKind.QualifiedName */:
16219 while (node.parent.kind === 161 /* SyntaxKind.QualifiedName */) {
16220 node = node.parent;
16221 }
16222 return node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node);
16223 case 311 /* SyntaxKind.JSDocMemberName */:
16224 while (ts.isJSDocMemberName(node.parent)) {
16225 node = node.parent;
16226 }
16227 return node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node);
16228 case 80 /* SyntaxKind.PrivateIdentifier */:
16229 return ts.isBinaryExpression(node.parent) && node.parent.left === node && node.parent.operatorToken.kind === 101 /* SyntaxKind.InKeyword */;
16230 case 79 /* SyntaxKind.Identifier */:
16231 if (node.parent.kind === 181 /* SyntaxKind.TypeQuery */ || ts.isJSDocLinkLike(node.parent) || ts.isJSDocNameReference(node.parent) || ts.isJSDocMemberName(node.parent) || isJSXTagName(node)) {
16232 return true;
16233 }
16234 // falls through
16235 case 8 /* SyntaxKind.NumericLiteral */:

Callers 2

isInExpressionContextFunction · 0.85

Calls 2

isJSXTagNameFunction · 0.85
isInExpressionContextFunction · 0.85

Tested by

no test coverage detected