public function finalModifier()
 {
     $this->assertTrue(\lang\reflect\Modifiers::isFinal(MODIFIER_FINAL));
 }
Exemple #2
0
 /**
  * Emit type name and modifiers
  *
  * @param   xp.compiler.emit.Buffer b
  * @param   string type
  * @param   xp.compiler.ast.TypeDeclarationNode declaration
  */
 protected function emitTypeName($b, $type, TypeDeclarationNode $declaration, $prefix = '')
 {
     $this->metadata[0]['class'] = [];
     $declaration->literal = $this->declaration($declaration, $package = false);
     // Emit abstract and final modifiers
     if (Modifiers::isAbstract($declaration->modifiers)) {
         $b->append('abstract ');
     } else {
         if (Modifiers::isFinal($declaration->modifiers)) {
             $b->append('final ');
         }
     }
     // Emit declaration
     $b->append($type)->append(' ')->append($prefix . $declaration->name->name);
 }