/** * 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; }
/** * 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; }