/** * @param Config $parent * @param Config $config * @return Config */ protected function merge(Config $parent, Config $config) { !$parent->name() && $parent->set(Config::NAME, $this->resolve($config->name())); $config->args() && $parent->set(Config::ARGS, $config->args()); $config->calls() && $parent->set(Config::CALLS, $config->merge() ? array_merge($parent->calls(), $config->calls()) : $config->calls()); return $parent; }