@@ -39,7 +39,9 @@ import {
3939 type Identifier ,
4040 type IndexSignatureDeclaration ,
4141 ModifierFlags ,
42+ type NamedTupleMember ,
4243 type Node ,
44+ type ParameterDeclaration ,
4345 type Path ,
4446 type SourceFile ,
4547 type SyntaxKind ,
@@ -1212,6 +1214,10 @@ class ProjectObjectRegistry {
12121214 return this . types . get ( id ) ;
12131215 }
12141216
1217+ createNodeHandle < T extends Node > ( handle : string ) : NodeHandle < T > {
1218+ return new NodeHandle < T > ( handle , this . project ) ;
1219+ }
1220+
12151221 getOrCreateSignature ( data : SignatureResponse ) : Signature {
12161222 let sig = this . signatures . get ( data . id ) ;
12171223 if ( ! sig ) {
@@ -5245,6 +5251,7 @@ class TypeObject implements Type {
52455251 readonly elementFlags ! : readonly ElementFlags [ ] ;
52465252 readonly fixedLength ! : number ;
52475253 readonly readonly ! : boolean ;
5254+ readonly labeledElementDeclarations ?: readonly ( NodeHandle < NamedTupleMember | ParameterDeclaration > | undefined ) [ ] ;
52485255 readonly texts ! : readonly string [ ] ;
52495256 readonly objectType ! : number ;
52505257 readonly indexType ! : number ;
@@ -5303,6 +5310,9 @@ class TypeObject implements Type {
53035310 this . fixedLength = data . fixedLength ;
53045311 }
53055312 if ( data . readonly !== undefined ) this . readonly = data . readonly ;
5313+ if ( data . labeledElementDeclarations !== undefined ) {
5314+ this . labeledElementDeclarations = data . labeledElementDeclarations . map ( handle => handle ? objectRegistry . createNodeHandle < NamedTupleMember | ParameterDeclaration > ( handle ) : undefined ) ;
5315+ }
53065316 if ( data . texts !== undefined ) this . texts = data . texts ;
53075317 if ( data . objectType !== undefined ) this . objectType = data . objectType ;
53085318 if ( data . indexType !== undefined ) this . indexType = data . indexType ;
0 commit comments