@@ -905,14 +905,21 @@ function funcInfoToCode(FuncInfo $funcInfo): string {
905
905
}
906
906
} else if (null !== $ representableType = $ argType ->tryToRepresentableType ()) {
907
907
if ($ representableType ->classType !== null ) {
908
- throw new Exception ('Unimplemented ' );
908
+ $ code .= sprintf (
909
+ "\tZEND_%s_OBJ_TYPE_MASK(%s, %s, %s, %s, %s) \n" ,
910
+ $ argKind , $ argInfo ->getSendByString (), $ argInfo ->name ,
911
+ $ representableType ->classType ->toEscapedName (),
912
+ $ representableType ->toTypeMask (),
913
+ $ argInfo ->getDefaultValueString ()
914
+ );
915
+ } else {
916
+ $ code .= sprintf (
917
+ "\tZEND_%s_TYPE_MASK(%s, %s, %s, %s) \n" ,
918
+ $ argKind , $ argInfo ->getSendByString (), $ argInfo ->name ,
919
+ $ representableType ->toTypeMask (),
920
+ $ argInfo ->getDefaultValueString ()
921
+ );
909
922
}
910
- $ code .= sprintf (
911
- "\tZEND_%s_TYPE_MASK(%s, %s, %s, %s) \n" ,
912
- $ argKind , $ argInfo ->getSendByString (), $ argInfo ->name ,
913
- $ representableType ->toTypeMask (),
914
- $ argInfo ->getDefaultValueString ()
915
- );
916
923
} else {
917
924
throw new Exception ('Unimplemented ' );
918
925
}
0 commit comments