1- import * as ts from "./_namespaces/ts";
2- import { moduleSpecifiers, performance } from "./_namespaces/ts";
31import { bindSourceFile, getModuleInstanceState, ModuleInstanceState } from "./binder";
42import {
53 addRange, and, append, appendIfUnique, arrayFrom, arrayOf, arraysEqual, arrayToMultiMap, binarySearch,
@@ -49,13 +47,15 @@ import {
4947} from "./factory/utilities";
5048import { setTextRange } from "./factory/utilitiesPublic";
5149import { getTypesPackageName, mangleScopedPackageName } from "./moduleNameResolver";
50+ import * as moduleSpecifiers from "./moduleSpecifiers";
5251import {
5352 forEachChild, forEachChildRecursively, isExternalModule, parseIsolatedEntityName, parseNodeFactory,
5453} from "./parser";
5554import {
5655 comparePaths, fileExtensionIs, fileExtensionIsOneOf, getDirectoryPath, getNormalizedAbsolutePath, hasExtension,
5756 pathIsRelative,
5857} from "./path";
58+ import * as performance from "./performance";
5959import {
6060 getModeForUsageLocation, getResolutionDiagnostic, getResolutionModeOverrideForClause,
6161 isExclusivelyTypeOnlyImportOrExport, resolveTripleslashReference,
@@ -211,8 +211,8 @@ import {
211211 getEffectiveConstraintOfTypeParameter, getEffectiveTypeParameterDeclarations, getJSDocClassTag,
212212 getJSDocDeprecatedTag, getJSDocEnumTag, getJSDocParameterTags, getJSDocTags, getJSDocThisTag, getJSDocType,
213213 getJSDocTypeTag, getNameOfDeclaration, getOriginalNode, getParseTreeNode, getTextOfJSDocComment, hasInitializer,
214- hasJSDocNodes, hasJSDocParameterTags, hasOnlyExpressionInitializer, hasRestParameter, hasScopeMarker, idText ,
215- isAccessor, isAssertionExpression, isAssignmentPattern, isBindingPattern, isCallChain, isCallLikeExpression,
214+ hasJSDocNodes, hasJSDocParameterTags, hasOnlyExpressionInitializer, hasRestParameter, hasScopeMarker, hasType ,
215+ idText, isAccessor, isAssertionExpression, isAssignmentPattern, isBindingPattern, isCallChain, isCallLikeExpression,
216216 isCallOrNewExpression, isClassElement, isClassLike, isConstTypeReference, isDeclaration, isEntityName, isExpression,
217217 isExpressionOfOptionalChainRoot, isExternalModuleIndicator, isExternalModuleNameRelative, isForInOrOfStatement,
218218 isFunctionLike, isFunctionLikeDeclaration, isFunctionLikeOrClassStaticBlockDeclaration, isFunctionOrModuleBlock,
@@ -965,6 +965,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
965965 isPropertyAccessible,
966966 getTypeOnlyAliasDeclaration,
967967 getMemberOverrideModifierStatus,
968+ typeHasCallOrConstructSignatures,
968969 };
969970
970971 function runWithInferenceBlockedFromSourceNode<T>(node: Node | undefined, fn: () => T): T {
@@ -8816,7 +8817,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
88168817
88178818 function findResolutionCycleStartIndex(target: TypeSystemEntity, propertyName: TypeSystemPropertyName): number {
88188819 for (let i = resolutionTargets.length - 1; i >= 0; i--) {
8819- if (hasType (resolutionTargets[i], resolutionPropertyNames[i])) {
8820+ if (resolutionTargetHasType (resolutionTargets[i], resolutionPropertyNames[i])) {
88208821 return -1;
88218822 }
88228823 if (resolutionTargets[i] === target && resolutionPropertyNames[i] === propertyName) {
@@ -8826,7 +8827,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
88268827 return -1;
88278828 }
88288829
8829- function hasType (target: TypeSystemEntity, propertyName: TypeSystemPropertyName): boolean {
8830+ function resolutionTargetHasType (target: TypeSystemEntity, propertyName: TypeSystemPropertyName): boolean {
88308831 switch (propertyName) {
88318832 case TypeSystemPropertyName.Type:
88328833 return !!getSymbolLinks(target as Symbol).type;
@@ -17750,7 +17751,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1775017751 return false;
1775117752 }
1775217753 // Or functions with annotated parameter types
17753- if (some(node.parameters, ts. hasType)) {
17754+ if (some(node.parameters, hasType)) {
1775417755 return false;
1775517756 }
1775617757 const sourceSig = getSingleCallSignature(source);
@@ -42642,7 +42643,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4264242643 }
4264342644
4264442645 function typeHasCallOrConstructSignatures(type: Type): boolean {
42645- return ts.typeHasCallOrConstructSignatures (type, checker) ;
42646+ return getSignaturesOfType(type, SignatureKind.Call).length !== 0 || getSignaturesOfType (type, SignatureKind.Construct).length !== 0 ;
4264642647 }
4264742648
4264842649 function getRootSymbols(symbol: Symbol): readonly Symbol[] {
0 commit comments