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

Function getTypeOfDottedName

test/fixtures/snapshot/typescript.js:70087–70119  ·  view source on GitHub ↗
(node, diagnostic)

Source from the content-addressed store, hash-verified

70085 // parameter symbols with declarations that have explicit type annotations. Such references are
70086 // resolvable with no possibility of triggering circularities in control flow analysis.
70087 function getTypeOfDottedName(node, diagnostic) {
70088 if (!(node.flags & 33554432 /* NodeFlags.InWithStatement */)) {
70089 switch (node.kind) {
70090 case 79 /* SyntaxKind.Identifier */:
70091 var symbol = getExportSymbolOfValueSymbolIfExported(getResolvedSymbol(node));
70092 return getExplicitTypeOfSymbol(symbol.flags & 2097152 /* SymbolFlags.Alias */ ? resolveAlias(symbol) : symbol, diagnostic);
70093 case 108 /* SyntaxKind.ThisKeyword */:
70094 return getExplicitThisType(node);
70095 case 106 /* SyntaxKind.SuperKeyword */:
70096 return checkSuperExpression(node);
70097 case 206 /* SyntaxKind.PropertyAccessExpression */: {
70098 var type = getTypeOfDottedName(node.expression, diagnostic);
70099 if (type) {
70100 var name = node.name;
70101 var prop = void 0;
70102 if (ts.isPrivateIdentifier(name)) {
70103 if (!type.symbol) {
70104 return undefined;
70105 }
70106 prop = getPropertyOfType(type, ts.getSymbolNameForPrivateIdentifier(type.symbol, name.escapedText));
70107 }
70108 else {
70109 prop = getPropertyOfType(type, name.escapedText);
70110 }
70111 return prop && getExplicitTypeOfSymbol(prop, diagnostic);
70112 }
70113 return undefined;
70114 }
70115 case 212 /* SyntaxKind.ParenthesizedExpression */:
70116 return getTypeOfDottedName(node.expression, diagnostic);
70117 }
70118 }
70119 }
70120 function getEffectsSignature(node) {
70121 var links = getNodeLinks(node);
70122 var signature = links.effectsSignature;

Callers 3

getExplicitTypeOfSymbolFunction · 0.85
getEffectsSignatureFunction · 0.85
checkCallExpressionFunction · 0.85

Calls 7

getResolvedSymbolFunction · 0.85
getExplicitTypeOfSymbolFunction · 0.85
resolveAliasFunction · 0.85
getExplicitThisTypeFunction · 0.85
checkSuperExpressionFunction · 0.85
getPropertyOfTypeFunction · 0.85

Tested by

no test coverage detected