@@ -390,11 +390,16 @@ private function processLogic()
390390 /** @var string $keyword */
391391 foreach (array ($ names ->not , $ names ->if , $ names ->then , $ names ->else ) as $ keyword ) {
392392 if ($ this ->schema ->$ keyword !== null ) {
393+ $ schema = $ this ->schema ->$ keyword ;
394+ $ path = $ this ->path . '-> ' . $ keyword ;
395+ if ($ schema instanceof Schema && !empty ($ schema ->getFromRefs ())) {
396+ $ path = $ schema ->getFromRefs ()[0 ];
397+ }
393398 $ this ->result ->addSnippet (
394399 $ this ->copyTo (new SchemaBuilder (
395- $ this -> schema -> $ keyword ,
400+ $ schema ,
396401 "{$ this ->varName }-> {$ keyword }" ,
397- $ this -> path . ' -> ' . $ keyword ,
402+ $ path ,
398403 $ this ->phpBuilder
399404 ))->build ()
400405 );
@@ -405,11 +410,15 @@ private function processLogic()
405410 foreach (array ($ names ->anyOf , $ names ->oneOf , $ names ->allOf ) as $ keyword ) {
406411 if ($ this ->schema ->$ keyword !== null ) {
407412 foreach ($ this ->schema ->$ keyword as $ index => $ schema ) {
413+ $ path = $ this ->path . "-> {$ keyword }[ {$ index }] " ;
414+ if ($ schema instanceof Schema && !empty ($ schema ->getFromRefs ())) {
415+ $ path = $ schema ->getFromRefs ()[0 ];
416+ }
408417 $ varName = '$ ' . PhpCode::makePhpName ("{$ this ->varName }-> {$ keyword }[ {$ index }] " );
409418 $ schemaInit = $ this ->copyTo (new SchemaBuilder (
410419 $ schema ,
411420 $ varName ,
412- $ this -> path . " -> { $ keyword } [ { $ index } ] " ,
421+ $ path ,
413422 $ this ->phpBuilder
414423 ))->build ();
415424
0 commit comments