Remove ts namespace import from checker (#52890)

This commit is contained in:
Jake Bailey 2023-02-21 10:14:26 -08:00 committed by GitHub
parent e1ae30e1ab
commit e88fe15d68
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 8 additions and 13 deletions

View File

@ -1,4 +1,3 @@
import * as ts from "./_namespaces/ts";
import {
__String,
AccessExpression,
@ -387,6 +386,7 @@ import {
hasStaticModifier,
hasSyntacticModifier,
hasSyntacticModifiers,
hasType,
HeritageClause,
Identifier,
identifierToKeywordKind,
@ -1816,6 +1816,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
getTypeOnlyAliasDeclaration,
getMemberOverrideModifierStatus,
isTypeParameterPossiblyReferenced,
typeHasCallOrConstructSignatures,
};
function runWithoutResolvedSignatureCaching<T>(node: Node | undefined, fn: () => T): T {
@ -10069,7 +10070,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
function findResolutionCycleStartIndex(target: TypeSystemEntity, propertyName: TypeSystemPropertyName): number {
for (let i = resolutionTargets.length - 1; i >= 0; i--) {
if (hasType(resolutionTargets[i], resolutionPropertyNames[i])) {
if (resolutionTargetHasProperty(resolutionTargets[i], resolutionPropertyNames[i])) {
return -1;
}
if (resolutionTargets[i] === target && resolutionPropertyNames[i] === propertyName) {
@ -10079,7 +10080,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
return -1;
}
function hasType(target: TypeSystemEntity, propertyName: TypeSystemPropertyName): boolean {
function resolutionTargetHasProperty(target: TypeSystemEntity, propertyName: TypeSystemPropertyName): boolean {
switch (propertyName) {
case TypeSystemPropertyName.Type:
return !!getSymbolLinks(target as Symbol).type;
@ -19260,7 +19261,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
return false;
}
// Or functions with annotated parameter types
if (some(node.parameters, ts.hasType)) {
if (some(node.parameters, hasType)) {
return false;
}
const sourceSig = getSingleCallSignature(source);
@ -45567,7 +45568,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
}
function typeHasCallOrConstructSignatures(type: Type): boolean {
return ts.typeHasCallOrConstructSignatures(type, checker);
return getSignaturesOfType(type, SignatureKind.Call).length !== 0 || getSignaturesOfType(type, SignatureKind.Construct).length !== 0;
}
function getRootSymbols(symbol: Symbol): readonly Symbol[] {

View File

@ -5240,6 +5240,7 @@ export interface TypeChecker {
/** @internal */ getTypeOnlyAliasDeclaration(symbol: Symbol): TypeOnlyAliasDeclaration | undefined;
/** @internal */ getMemberOverrideModifierStatus(node: ClassLikeDeclaration, member: ClassElement, memberSymbol: Symbol): MemberOverrideStatus;
/** @internal */ isTypeParameterPossiblyReferenced(tp: TypeParameter, node: Node): boolean;
/** @internal */ typeHasCallOrConstructSignatures(type: Type): boolean;
}
/** @internal */

View File

@ -464,7 +464,6 @@ import {
Signature,
SignatureDeclaration,
SignatureFlags,
SignatureKind,
singleElementArray,
singleOrUndefined,
skipOuterExpressions,
@ -7645,11 +7644,6 @@ export function getObjectFlags(type: Type): ObjectFlags {
return type.flags & TypeFlags.ObjectFlagsType ? (type as ObjectFlagsType).objectFlags : 0;
}
/** @internal */
export function typeHasCallOrConstructSignatures(type: Type, checker: TypeChecker) {
return checker.getSignaturesOfType(type, SignatureKind.Call).length !== 0 || checker.getSignaturesOfType(type, SignatureKind.Construct).length !== 0;
}
/** @internal */
export function forSomeAncestorDirectory(directory: string, callback: (directory: string) => boolean): boolean {
return !!forEachAncestorDirectory(directory, d => callback(d) ? true : undefined);

View File

@ -347,7 +347,6 @@ import {
TypeChecker,
TypeElement,
TypeFlags,
typeHasCallOrConstructSignatures,
TypeLiteralNode,
TypeNode,
TypeOnlyImportDeclaration,
@ -4774,7 +4773,7 @@ function getApparentProperties(type: Type, node: ObjectLiteralExpression | JsxAt
!(memberType.flags & TypeFlags.Primitive
|| checker.isArrayLikeType(memberType)
|| checker.isTypeInvalidDueToUnionDiscriminant(memberType, node)
|| typeHasCallOrConstructSignatures(memberType, checker)
|| checker.typeHasCallOrConstructSignatures(memberType)
|| memberType.isClass() && containsNonPublicProperties(memberType.getApparentProperties()))));
}