/**
  * Returns declaration
  *
  * @param  lang.mirrors.TypeMirror $mirror
  * @return string
  */
 protected static function declarationOf($mirror)
 {
     switch ($mirror->kind()) {
         case Kind::$ENUM:
             return $mirror->modifiers()->names() . ' enum ' . $mirror->name();
             break;
         case Kind::$TRAIT:
             return 'public trait ' . $mirror->name();
             break;
         case Kind::$INTERFACE:
             return 'public interface ' . $mirror->name();
             break;
         case Kind::$CLASS:
             return $mirror->modifiers()->names() . ' class ' . $mirror->name();
             break;
         default:
             throw new IllegalStateException('Unknown kind ' . $mirror->kind()->name());
     }
 }
Exemple #2
0
 /**
  * Creates trait body
  *
  * @param  lang.mirrors.TypeMirror $mirror
  * @return string
  */
 protected function body($mirror)
 {
     return '/** @return lang.partial.InstanceCreation */ public static function with() {
   return \\lang\\partial\\InstanceCreation::of(new \\lang\\XPClass(\'' . strtr($mirror->name(), '.', '\\') . '\'));
 }';
 }