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 {
@@ -8835,7 +8836,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
88358836
88368837 function findResolutionCycleStartIndex(target: TypeSystemEntity, propertyName: TypeSystemPropertyName): number {
88378838 for (let i = resolutionTargets.length - 1; i >= 0; i--) {
8838- if (hasType (resolutionTargets[i], resolutionPropertyNames[i])) {
8839+ if (resolutionTargetHasType (resolutionTargets[i], resolutionPropertyNames[i])) {
88398840 return -1;
88408841 }
88418842 if (resolutionTargets[i] === target && resolutionPropertyNames[i] === propertyName) {
@@ -8845,7 +8846,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
88458846 return -1;
88468847 }
88478848
8848- function hasType (target: TypeSystemEntity, propertyName: TypeSystemPropertyName): boolean {
8849+ function resolutionTargetHasType (target: TypeSystemEntity, propertyName: TypeSystemPropertyName): boolean {
88498850 switch (propertyName) {
88508851 case TypeSystemPropertyName.Type:
88518852 return !!getSymbolLinks(target as Symbol).type;
@@ -17782,7 +17783,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
1778217783 return false;
1778317784 }
1778417785 // Or functions with annotated parameter types
17785- if (some(node.parameters, ts. hasType)) {
17786+ if (some(node.parameters, hasType)) {
1778617787 return false;
1778717788 }
1778817789 const sourceSig = getSingleCallSignature(source);
@@ -42826,7 +42827,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
4282642827 }
4282742828
4282842829 function typeHasCallOrConstructSignatures(type: Type): boolean {
42829- return ts.typeHasCallOrConstructSignatures (type, checker) ;
42830+ return getSignaturesOfType(type, SignatureKind.Call).length !== 0 || getSignaturesOfType (type, SignatureKind.Construct).length !== 0 ;
4283042831 }
4283142832
4283242833 function getRootSymbols(symbol: Symbol): readonly Symbol[] {
0 commit comments