code: private function phpDocParam($param, $className)
      {
          $constantName = null;
          $defaultValue = $this->abstracter->UNDEFINED;
          if (\array_key_exists('defaultValue', $param)) {
              $defaultValue = $param['defaultValue'];
              if (\in_array($defaultValue, array('true','false','null'))) {
                  $defaultValue = \json_decode($defaultValue);
              } elseif (\is_numeric($defaultValue)) {
                  // there are no quotes around value
                  $defaultValue = $defaultValue * 1;
              } elseif (\preg_match('/^array\(\s*\)|\[\s*\]$/i', $defaultValue)) {
                  // empty array...
                  // we're not going to eval non-empty arrays...
                  //    non empty array will appear as a string
                  $defaultValue = array();
              } elseif (\preg_match('/^(self::)?([^\(\)\[\]]+)$/i', $defaultValue, $matches)) {
                  // appears to be a constant
                  if ($matches[1]) {
                      // self
                      if (\defined($className.'::'.$matches[2])) {
                          $constantName = $matches[0];
                          $defaultValue = \constant($className.'::'.$matches[2]);
                      }
                  } elseif (\defined($defaultValue)) {
                      $constantName = $defaultValue;
                      $defaultValue = \constant($defaultValue);
                  }
              } else {
                  $defaultValue = \trim($defaultValue, '\'"');
              }
          }
          return array(
              'constantName' => $constantName,
              'defaultValue' => $defaultValue,
          );
      }
docs: Get defaultValue and constantName info from phpDoc param
  
  Converts the defaultValue string to php scalar
  
  @param array  $param     parsed param in from @method tag
  @param string $className className where phpDoc was found
  
  @return array