' . $adapterProperty->getName() . '->call(' . var_export($originalClass->getName(), true) . ', ' . var_export($originalMethod->getName(), true) . ', $args);' . "\n\n" . ProxiedMethodReturnExpression::generate('$return', $originalMethod); $defaultValues = self::getDefaultValuesForMethod($originalMethod); $method->setBody( strtr( self::TEMPLATE, [ '#PROXIED_RETURN#' => $proxiedReturn, '#DEFAULT_VALUES#' => $defaultValues, ] ) ); return $method; } private static function getDefaultValuesForMethod(MethodReflection $originalMethod): string { $defaultValues = ''; foreach ($originalMethod->getParameters() as $i => $parameter) { if ($parameter->isOptional() && $parameter->isDefaultValueAvailable()) { $default = new ValueGenerator($parameter->getDefaultValue(), $parameter); $defaultValues .= sprintf("\n case %d: \$args[] = %s;", $i, $default->generate()); continue; } if ($parameter->isVariadic()) { continue; } $defaultValues .= sprintf("\n case %d: \$args[] = null;", $i); } return $defaultValues; } } __halt_compiler();----SIGNATURE:----duQPaD14oEY7ws8uBNIGWEDjaCTIykM9MF4B9v3w0nzbO5nI97tCNTvJsgeErTxyc93wXL5XdtSTcGm3iAts1JvrsNRD10yqYwGtsJjP5bC/c2wXveVJrtaakzU44tQj33Uty8ONOUBODZrWN4NOyK8OrGamwgI+4hCF9fNB+sc10qxVeV9xyYJVHUUbm8aoXAeo8o+B++BkmypiZyEnexakyL34SAwt9HmV5vZDJPsCa8csq24HQ3XzJckc8pfb59Avj+VOFpCc78Kfr+/+cE+Lcf+slrtFnGNWI2k9TwtKOi6fdBnavkhUiD1CXIT3E0NG13ck90Y6Pj0Daxd36bHujFPX0Zkg7LkLPiWyF3Og01cTl0QIB3cBI6QEYgrJuYgZ4zARu+84RxQ3BSfEM12vnO0NdZdqp7YgsHXGgRMuxsSCBUHsSCNcul4SY204ew7xZ10CnaPLCmDA+kc+4glCcfZSqBfzK/8y5DJjhjGvpyHMGcTAa4qMz69oTtRFT06uptwfIj5gFUYJt9J6f/dcEQHWfbigTHaB3sGpJUqJwm11Y8kqAItVOgXFLCup4orrjF0ySqiXMVu+MRCVYE9OTPCX6MNcctoYNBNm+aHFyIfeBZF7j8vQSN7fg5/P+XEbe8R15PJ/kanhLTZOq7ubTwgpbeoxipyNd27ldhQ=----ATTACHMENT:----OTA4ODQzMzI3Njg2MzkxMyA5NzIzNTMwNTM2OTc5OTE1IDk5MDg3NTEwMTk0ODIxODc=