original_string: public function hasProperty()
      {
          if (!array_key_exists($this->data[1], (array)$this->data[0])) {
              throw new DidNotMatchException();
          }
  
          return $this->data[0]->{$this->data[1]};
      }
code: public function hasProperty()
      {
          if (!array_key_exists($this->data[1], (array)$this->data[0])) {
              throw new DidNotMatchException();
          }
  
          return $this->data[0]->{$this->data[1]};
      }
code_tokens: public function hasProperty ( ) { if ( ! array_key_exists ( $ this -> data [ 1 ] , ( array ) $ this -> data [ 0 ] ) ) { throw new DidNotMatchException ( ) ; } return $ this -> data [ 0 ] -> { $ this -> data [ 1 ] } ; }
docstring: Assert that an object has a property. Returns the properties value.
  
  @return mixed
  @throws DidNotMatchException
  @syntax object ?:object has property ?:string
docstring_tokens: Assert that an object has a property . Returns the properties value .