mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 08:11:30 -06:00
Remove ts namespace import from checker (#52890)
This commit is contained in:
parent
e1ae30e1ab
commit
e88fe15d68
@ -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[] {
|
||||
|
||||
@ -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 */
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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()))));
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user