@@ -1430,14 +1430,26 @@ private static void addUsingVariants(Set<HaxeComponentName> variants,
14301430 HaxeReferenceImpl reference ) {
14311431
14321432 if (ourClass == null ) return ;
1433-
1434- HaxeFileModel .fromElement (reference ).getUsingModels ().stream ()
1435- .flatMap (model -> model .getExtensionMethods (ourClass , reference ).stream ())
1436- .map (HaxeMemberModel ::getNamePsi )
1437- .forEach (name -> {
1438- variants .add (name );
1439- variantsWithExtension .add (name );
1440- });
1433+ HaxeFileModel haxeFileModel = HaxeFileModel .fromElement (reference );
1434+ if (haxeFileModel != null ) {
1435+
1436+ List <HaxeUsingModel > importHxUsingModels = findImportHxFileUsingModels (haxeFileModel );
1437+ importHxUsingModels .stream ()
1438+ .flatMap (model -> model .getExtensionMethods (ourClass , reference ).stream ())
1439+ .map (HaxeMemberModel ::getNamePsi )
1440+ .forEach (name -> {
1441+ variants .add (name );
1442+ variantsWithExtension .add (name );
1443+ });
1444+
1445+ haxeFileModel .getUsingModels ().stream ()
1446+ .flatMap (model -> model .getExtensionMethods (ourClass , reference ).stream ())
1447+ .map (HaxeMemberModel ::getNamePsi )
1448+ .forEach (name -> {
1449+ variants .add (name );
1450+ variantsWithExtension .add (name );
1451+ });
1452+ }
14411453
14421454 List <HaxeMethodModel > extensionMethodsFromMeta = ourClass .getModel ().getExtensionMethodsFromMeta ();
14431455 extensionMethodsFromMeta .stream ()
@@ -1450,6 +1462,15 @@ private static void addUsingVariants(Set<HaxeComponentName> variants,
14501462
14511463 }
14521464
1465+ private static @ NotNull List <HaxeUsingModel > findImportHxFileUsingModels (HaxeFileModel haxeFileModel ) {
1466+ final List <HaxeUsingModel > usingModels = new ArrayList <>();
1467+ HaxeResolveUtil .walkDirectoryImports (haxeFileModel , (importModel ) ->{
1468+ usingModels .addAll (importModel .getUsingModels ());
1469+ return true ;
1470+ });
1471+ return usingModels ;
1472+ }
1473+
14531474 private static void addClassVariants (Set <HaxeComponentName > suggestedVariants , @ Nullable HaxeClass haxeClass , boolean filterByAccess ,
14541475 @ Nullable HaxeGenericResolver resolver ) {
14551476 if (haxeClass == null ) {
0 commit comments