示例#1
0
 /**
  * Add a method to the interface
  *
  * @param object
  */
 function addMethod(CodeGen_PECL_Element_Method $method)
 {
     $name = $method->getName();
     if (isset($this->functions[$name])) {
         return PEAR::raiseError("method '{$name}' already exists");
     }
     /* TODO
        if (!$method->isAbstract || !$method->isInterface) {
            return PEAR::raiseError("an interface method has to be declated both abstract and interface");
        }
        */
     $this->methods[$name] = $method;
     return true;
 }
示例#2
0
 /**
  * Add a method definition to the class
  *
  * @param object class method object
  */
 function addMethod(CodeGen_PECL_Element_Method $method)
 {
     $name = $method->getName();
     if (isset($this->functions[$name])) {
         return PEAR::raiseError("method '{$name}' already exists");
     }
     $this->methods[$name] = $method;
     return true;
 }
 function tagstart_interface_function($attr)
 {
     $err = $this->checkAttributes($attr, array("name"));
     if (PEAR::isError($err)) {
         return $err;
     }
     $method = new CodeGen_PECL_Element_Method($this->helper);
     $method->isAbstract();
     $method->isInterface();
     $this->pushHelper($method);
     if (isset($attr["name"])) {
         $err = $method->setName($attr["name"]);
         if (PEAR::isError($err)) {
             return $err;
         }
     } else {
         return PEAR::raiseError("'name' attribut for <function> missing");
     }
     return true;
 }