original_string: protected function parseDynamicAttribute($propertyName, \ReflectionProperty $reflectionProperty, AnnotationBag $propertyAnnotations) {
  		if ($propertyAnnotations->has('Query'))
  			$attribute = new Query($propertyName, $reflectionProperty, $propertyAnnotations);
  		elseif ($propertyAnnotations->has('Statement'))
  			$attribute = new Statement($propertyName, $reflectionProperty, $propertyAnnotations);
  		elseif ($propertyAnnotations->has('Procedure'))
  			$attribute = new Procedure($propertyName, $reflectionProperty, $propertyAnnotations);
  		elseif ($propertyAnnotations->has('Eval'))
  			$attribute = new Macro($propertyName, $reflectionProperty, $propertyAnnotations);
  		
  		if ($attribute->isCacheable())
  			$this->attributes[$propertyName] = $attribute;
  		else
  			$this->dynamicAttributes[$propertyName] = $attribute;
  	}
code: protected function parseDynamicAttribute($propertyName, \ReflectionProperty $reflectionProperty, AnnotationBag $propertyAnnotations) {
  		if ($propertyAnnotations->has('Query'))
  			$attribute = new Query($propertyName, $reflectionProperty, $propertyAnnotations);
  		elseif ($propertyAnnotations->has('Statement'))
  			$attribute = new Statement($propertyName, $reflectionProperty, $propertyAnnotations);
  		elseif ($propertyAnnotations->has('Procedure'))
  			$attribute = new Procedure($propertyName, $reflectionProperty, $propertyAnnotations);
  		elseif ($propertyAnnotations->has('Eval'))
  			$attribute = new Macro($propertyName, $reflectionProperty, $propertyAnnotations);
  		
  		if ($attribute->isCacheable())
  			$this->attributes[$propertyName] = $attribute;
  		else
  			$this->dynamicAttributes[$propertyName] = $attribute;
  	}
code_tokens: protected function parseDynamicAttribute ( $ propertyName , \ ReflectionProperty $ reflectionProperty , AnnotationBag $ propertyAnnotations ) { if ( $ propertyAnnotations -> has ( 'Query' ) ) $ attribute = new Query ( $ propertyName , $ reflectionProperty , $ propertyAnnotations ) ; elseif ( $ propertyAnnotations -> has ( 'Statement' ) ) $ attribute = new Statement ( $ propertyName , $ reflectionProperty , $ propertyAnnotations ) ; elseif ( $ propertyAnnotations -> has ( 'Procedure' ) ) $ attribute = new Procedure ( $ propertyName , $ reflectionProperty , $ propertyAnnotations ) ; elseif ( $ propertyAnnotations -> has ( 'Eval' ) ) $ attribute = new Macro ( $ propertyName , $ reflectionProperty , $ propertyAnnotations ) ; if ( $ attribute -> isCacheable ( ) ) $ this -> attributes [ $ propertyName ] = $ attribute ; else $ this -> dynamicAttributes [ $ propertyName ] = $ attribute ; }
docstring: Parses a dynamic attribute
  @param string$propertyName
  @param \ReflectionProperty $reflectionProperty
  @param \Omocha\AnnotationBag $propertyAnnotations
docstring_tokens: Parses a dynamic attribute