File tree 3 files changed +12
-4
lines changed
src/org/klesun/deep_js_completion/resolvers
3 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -106,8 +106,12 @@ case class VarRes(ctx: IExprCtx) {
106
106
if (generics.contains(fqn)) {
107
107
generics(fqn).apply()
108
108
} else {
109
- // TODO: support actual classes
110
- None
109
+ val clsType = JSTypeUtils .createType(sints.getQualifiedTypeName, JSTypeSource .EMPTY )
110
+ val clsGenerics : java.util.List [JSType ] = sints.getTypeArguments.map(
111
+ gena => Mt .mergeTypes(parseTypePsi(gena, generics))
112
+ .getOrElse(JSUnknownType .JS_INSTANCE )
113
+ ).toList.asJava
114
+ Some (new JSGenericTypeImpl (JSTypeSource .EMPTY , clsType, clsGenerics))
111
115
}
112
116
case _ => None
113
117
}
Original file line number Diff line number Diff line change @@ -3,7 +3,8 @@ let SomeCjsModule = (reqBody) => {
3
3
doStuff : ( arg1 ) => {
4
4
return { lalala : 123 } ;
5
5
} ,
6
- runInputCmd : ( cmd ) => Promise . resolve ( { output : 'EXECUTED' } )
6
+ runInputCmd : ( cmd ) => Promise . resolve ( { output : 'EXECUTED' } ) ,
7
+ getSimpleObj : ( ) => ( { a : 5 , b : 6 } ) ,
7
8
} ;
8
9
} ;
9
10
Original file line number Diff line number Diff line change @@ -288,4 +288,7 @@ remapping.map;
288
288
let huj = {
289
289
wrap : ( ) => ( { wrap1 : 5 , wrap2 : 6 } ) ,
290
290
get : ( ) => ( { get1 : 5 , get2 : 6 } ) ,
291
- } . get ( ) . ; // should not suggest "wrap1" and "wrap2"
291
+ } . get ( ) . ; // should not suggest "wrap1" and "wrap2"
292
+
293
+ // should suggest: "a", "b"
294
+ Promise . resolve ( SomeCjsModule ( ) . getSimpleObj ( ) ) . then ( a => a . ) ;
You can’t perform that action at this time.
0 commit comments