@@ -101,7 +101,11 @@ public void initTypes() {
101101
102102 }
103103
104-
104+ @ Override
105+ protected Identifier packageMember (Identifier libraryPackage , Identifier name ) {
106+ return name ;
107+ }
108+
105109 @ Override
106110 public boolean isObjCppPrimitive (String s ) {
107111 int len ;
@@ -149,7 +153,7 @@ public void convertFunction(Function function, Signatures signatures, boolean is
149153 return ;
150154
151155 try {
152- tr = result .typeConverter .resolveTypeDef (tr , libraryClassName , true , false );
156+ tr = result .typeConverter .resolveTypeDef (tr , null /* libraryClassName*/ , false , false );
153157 List <Modifier > mods = arg .harvestModifiers ();
154158
155159 TypeRef convTr ;
@@ -339,17 +343,27 @@ private Conversion convertTypeToJavaCL(Result result, String argName, TypeRef va
339343 TypeRef target = ((TypeRef .Pointer )valueType ).getTarget ();
340344 if (target instanceof TypeRef .SimpleTypeRef ) {
341345 TypeRef .SimpleTypeRef starget = (TypeRef .SimpleTypeRef )target ;
342-
343- Pair <Integer , Class <?>> pair = buffersAndArityByType .get ((starget + "" ).equals ("long" ) ? "long" : starget .getName () + "" );
346+ Identifier name = starget .getName ();
347+
348+ Pair <Integer , Class <?>> pair = buffersAndArityByType .get ((starget + "" ).equals ("long" ) ? "long" : name + "" );
344349 if (pair != null ) {
345350 ret .outerJavaTypeRef = typeRef (ident (CLBuffer .class , expr (typeRef (pair .getSecond ()))));
346351 return ret ;
347352 }
348- Identifier ref = result .typeConverter .findRef (starget .getName (), target , libraryClassName , true );
353+ Identifier ref =
354+ result .structsFullNames .contains (name ) ||
355+ result .enumsFullNames .contains (name ) ?
356+ name : result .typeConverter .findRef (name , target , libraryClassName , true );
349357 if (ref != null ) {
350358 ret .outerJavaTypeRef = typeRef (ident (CLBuffer .class , expr (typeRef (ref ))));
351359 return ret ;
352360 }
361+ } else if (target instanceof Struct ) {
362+ TypeRef ref = result .typeConverter .findStructRef ((Struct )target , libraryClassName );
363+ if (ref != null ) {
364+ ret .outerJavaTypeRef = typeRef (ident (CLBuffer .class , expr (ref )));
365+ return ret ;
366+ }
353367 }
354368 throw new UnsupportedConversionException (valueType , "Unknown pointed target type" );
355369 } else if (valueType instanceof TypeRef .SimpleTypeRef ) {
0 commit comments