@@ -5849,7 +5849,7 @@ export interface EmitResolver {
58495849 requiresAddingImplicitUndefined ( node : ParameterDeclaration , enclosingDeclaration : Node | undefined ) : boolean ;
58505850 isExpandoFunctionDeclaration ( node : FunctionDeclaration | VariableDeclaration ) : boolean ;
58515851 getPropertiesOfContainerFunction ( node : Declaration ) : Symbol [ ] ;
5852- createTypeOfDeclaration ( declaration : AccessorDeclaration | VariableLikeDeclaration | PropertyAccessExpression | ElementAccessExpression | BinaryExpression , enclosingDeclaration : Node , flags : NodeBuilderFlags , internalFlags : InternalNodeBuilderFlags , tracker : SymbolTracker ) : TypeNode | undefined ;
5852+ createTypeOfDeclaration ( declaration : HasInferredType , enclosingDeclaration : Node , flags : NodeBuilderFlags , internalFlags : InternalNodeBuilderFlags , tracker : SymbolTracker ) : TypeNode | undefined ;
58535853 createReturnTypeOfSignatureDeclaration ( signatureDeclaration : SignatureDeclaration , enclosingDeclaration : Node , flags : NodeBuilderFlags , internalFlags : InternalNodeBuilderFlags , tracker : SymbolTracker ) : TypeNode | undefined ;
58545854 createTypeOfExpression ( expr : Expression , enclosingDeclaration : Node , flags : NodeBuilderFlags , internalFlags : InternalNodeBuilderFlags , tracker : SymbolTracker ) : TypeNode | undefined ;
58555855 createLiteralConstValue ( node : VariableDeclaration | PropertyDeclaration | PropertySignature | ParameterDeclaration , tracker : SymbolTracker ) : Expression ;
@@ -10504,37 +10504,66 @@ export interface EvaluationResolver {
1050410504
1050510505/** @internal */
1050610506export type HasInferredType =
10507- | PropertyAssignment
10507+ | Exclude < VariableLikeDeclaration , JsxAttribute | EnumMember >
1050810508 | PropertyAccessExpression
10509- | BinaryExpression
1051010509 | ElementAccessExpression
10511- | VariableDeclaration
10512- | ParameterDeclaration
10513- | BindingElement
10514- | PropertyDeclaration
10515- | PropertySignature
10510+ | BinaryExpression
1051610511 | ExportAssignment ;
1051710512
1051810513/** @internal */
1051910514export interface SyntacticTypeNodeBuilderContext {
10515+ flags : NodeBuilderFlags ;
1052010516 tracker : Required < Pick < SymbolTracker , "reportInferenceFallback" > > ;
10517+ enclosingFile : SourceFile | undefined ;
1052110518 enclosingDeclaration : Node | undefined ;
10519+ approximateLength : number ;
10520+ noInferenceFallback ?: boolean ;
10521+ suppressReportInferenceFallback : boolean ;
1052210522}
1052310523
1052410524/** @internal */
1052510525export interface SyntacticTypeNodeBuilderResolver {
10526+ isOptionalParameter ( p : ParameterDeclaration ) : boolean ;
1052610527 isUndefinedIdentifierExpression ( name : Identifier ) : boolean ;
1052710528 isExpandoFunctionDeclaration ( name : FunctionDeclaration | VariableDeclaration ) : boolean ;
1052810529 getAllAccessorDeclarations ( declaration : AccessorDeclaration ) : AllAccessorDeclarations ;
10529- isEntityNameVisible ( entityName : EntityNameOrEntityNameExpression , enclosingDeclaration : Node , shouldComputeAliasToMakeVisible ?: boolean ) : SymbolVisibilityResult ;
10530- requiresAddingImplicitUndefined ( parameter : ParameterDeclaration | JSDocParameterTag , enclosingDeclaration : Node | undefined ) : boolean ;
10530+ requiresAddingImplicitUndefined ( declaration : ParameterDeclaration | PropertySignature | JSDocParameterTag | JSDocPropertyTag | PropertyDeclaration , symbol : Symbol | undefined , enclosingDeclaration : Node | undefined ) : boolean ;
1053110531 isDefinitelyReferenceToGlobalSymbolObject ( node : Node ) : boolean ;
10532+ isEntityNameVisible ( context : SyntacticTypeNodeBuilderContext , entityName : EntityNameOrEntityNameExpression , shouldComputeAliasToMakeVisible ?: boolean ) : SymbolVisibilityResult ;
10533+ serializeExistingTypeNode ( context : SyntacticTypeNodeBuilderContext , node : TypeNode , addUndefined ?: boolean ) : TypeNode | undefined ;
10534+ serializeReturnTypeForSignature ( context : SyntacticTypeNodeBuilderContext , signatureDeclaration : SignatureDeclaration | JSDocSignature ) : TypeNode | undefined ;
10535+ serializeTypeOfExpression ( context : SyntacticTypeNodeBuilderContext , expr : Expression ) : TypeNode ;
10536+ serializeTypeOfDeclaration ( context : SyntacticTypeNodeBuilderContext , node : HasInferredType | GetAccessorDeclaration | SetAccessorDeclaration , symbol : Symbol | undefined ) : TypeNode | undefined ;
10537+ serializeNameOfParameter ( context : SyntacticTypeNodeBuilderContext , parameter : ParameterDeclaration ) : BindingName | string ;
10538+ serializeTypeName ( context : SyntacticTypeNodeBuilderContext , node : EntityName , isTypeOf ?: boolean , typeArguments ?: readonly TypeNode [ ] ) : TypeNode | undefined ;
10539+ serializeEntityName ( context : SyntacticTypeNodeBuilderContext , node : EntityNameExpression ) : Expression | undefined ;
10540+ getJsDocPropertyOverride ( context : SyntacticTypeNodeBuilderContext , jsDocTypeLiteral : JSDocTypeLiteral , jsDocProperty : JSDocPropertyLikeTag ) : TypeNode | undefined ;
10541+ enterNewScope ( context : SyntacticTypeNodeBuilderContext , node : IntroducesNewScopeNode | ConditionalTypeNode ) : ( ) => void ;
10542+ markNodeReuse < T extends Node > ( context : SyntacticTypeNodeBuilderContext , range : T , location : Node | undefined ) : T ;
10543+ trackExistingEntityName < T extends EntityNameOrEntityNameExpression > ( context : SyntacticTypeNodeBuilderContext , node : T ) : { introducesError : boolean ; node : T ; } ;
10544+ trackComputedName ( context : SyntacticTypeNodeBuilderContext , accessExpression : EntityNameOrEntityNameExpression ) : void ;
10545+ evaluateEntityNameExpression ( expression : EntityNameExpression ) : EvaluatorResult ;
10546+ getModuleSpecifierOverride ( context : SyntacticTypeNodeBuilderContext , parent : ImportTypeNode , lit : StringLiteral ) : string | undefined ;
10547+ canReuseTypeNode ( context : SyntacticTypeNodeBuilderContext , existing : TypeNode ) : boolean ;
10548+ canReuseTypeNodeAnnotation ( context : SyntacticTypeNodeBuilderContext , node : Declaration , existing : TypeNode , symbol : Symbol | undefined , requiresAddingUndefined ?: boolean ) : boolean ;
10549+ shouldRemoveDeclaration ( context : SyntacticTypeNodeBuilderContext , node : DynamicNamedDeclaration ) : boolean ;
10550+ hasLateBindableName ( node : Declaration ) : node is LateBoundDeclaration | LateBoundBinaryExpressionDeclaration ;
10551+ createRecoveryBoundary ( context : SyntacticTypeNodeBuilderContext ) : {
10552+ startRecoveryScope ( ) : ( ) => void ;
10553+ finalizeBoundary ( ) : boolean ;
10554+ markError ( ) : void ;
10555+ hadError ( ) : boolean ;
10556+ } ;
1053210557}
1053310558
1053410559/** @internal */
1053510560export interface SyntacticNodeBuilder {
10536- typeFromExpression : ( node : Expression , context : SyntacticTypeNodeBuilderContext , isConstContext ?: boolean , requiresAddingUndefined ?: boolean , preserveLiterals ?: boolean ) => boolean | undefined ;
10537- serializeTypeOfDeclaration : ( node : HasInferredType , context : SyntacticTypeNodeBuilderContext ) => boolean | undefined ;
10538- serializeReturnTypeForSignature : ( node : SignatureDeclaration | JSDocSignature , context : SyntacticTypeNodeBuilderContext ) => boolean | undefined ;
10539- serializeTypeOfExpression : ( expr : Expression , context : SyntacticTypeNodeBuilderContext , addUndefined ?: boolean , preserveLiterals ?: boolean ) => boolean ;
10561+ serializeTypeOfDeclaration : ( node : HasInferredType , symbol : Symbol , context : SyntacticTypeNodeBuilderContext ) => TypeNode | undefined ;
10562+ serializeReturnTypeForSignature : ( signature : SignatureDeclaration | JSDocSignature , symbol : Symbol , context : SyntacticTypeNodeBuilderContext ) => TypeNode | undefined ;
10563+ serializeTypeOfExpression : ( expr : Expression | JsxAttributeValue , context : SyntacticTypeNodeBuilderContext , addUndefined ?: boolean , preserveLiterals ?: boolean ) => TypeNode ;
10564+ tryReuseExistingTypeNode : ( context : SyntacticTypeNodeBuilderContext , existing : TypeNode ) => TypeNode | undefined ;
10565+ serializeTypeOfAccessor : ( accessor : AccessorDeclaration , symbol : Symbol , context : SyntacticTypeNodeBuilderContext ) => TypeNode | undefined ;
1054010566}
10567+
10568+ /** @internal */
10569+ export type IntroducesNewScopeNode = SignatureDeclaration | JSDocSignature | MappedTypeNode ;
0 commit comments