/** @covers Brickoo\Component\IoC\Definition\ArgumentDefinition::hasName */ public function testHasName() { $annotationDefinition = new ArgumentDefinition("some value"); $this->assertFalse($annotationDefinition->hasName()); $annotationDefinition = new ArgumentDefinition("some value", "MyAnnotation"); $this->assertTrue($annotationDefinition->hasName()); }
/** * Adds an argument to the dependency definition. * @param \Brickoo\Component\IoC\Definition\ArgumentDefinition $argument * @throws \Brickoo\Component\IoC\Definition\Container\Exception\DuplicateParameterDefinitionException * @return \Brickoo\Component\IoC\Definition\Container\ArgumentDefinitionContainer */ public function addArgument(ArgumentDefinition $argument) { if (($hasName = $argument->hasName()) && $this->contains($argument->getName())) { throw new DuplicateParameterDefinitionException($argument->getName()); } $argumentKey = $hasName ? $argument->getName() : uniqid("arg:"); $this->add($argumentKey, $argument); return $this; }
/** * Returns the argument index. * @param \Brickoo\Component\IoC\Definition\ArgumentDefinition $argument * @param integer $currentIndex * @return string|integer the argument index */ private function getArgumentIndex(ArgumentDefinition $argument, $currentIndex) { return $argument->hasName() ? $argument->getName() : $currentIndex; }