Ejemplo n.º 1
0
void Doclet::process(Namespace& instance)
{
  if (&instance != _root) {
    _outputBuffer += "namespace " + instance.getName() + "\n";
    _outputBuffer += "{\n";
  }

  typedef std::vector <Include*>::iterator IncludeIterType;
  for (IncludeIterType iter = instance.getIncludes().begin(); iter != instance.getIncludes().end(); iter++) {
    process(**iter);
  }
  _outputBuffer += "\n";

  typedef std::vector <Namespace*>::iterator NamespaceIterType;
  for (NamespaceIterType iter = instance.getNamespaces().begin(); iter != instance.getNamespaces().end(); iter++) {
    process(**iter);
  }

  typedef std::vector <Class*>::iterator ClassIterType;
  for (ClassIterType iter = instance.getClasses().begin(); iter != instance.getClasses().end(); iter++) {
    process(**iter);
  }

  if (&instance != _root) {
    _outputBuffer += "}\n\n\n";
  }
}
Ejemplo n.º 2
0
void Doclet::prewalk(Namespace& instance)
{
  std::string namespaceName = instance.getName();

  if (instance.hasDocumentation()) {
    Documentation* documentation = instance.getDocumentation();
    if (documentation->containsAnnotation("@prototype") || documentation->containsAnnotation("@prototyped")) {
    }
  }

  typedef std::vector <Include*>::iterator IncludeIterType;
  for (IncludeIterType iter = instance.getIncludes().begin(); iter != instance.getIncludes().end(); iter++) {
    prewalk(**iter);
  }

  typedef std::vector <Class*>::iterator ClassIterType;
  for (ClassIterType iter = instance.getClasses().begin(); iter != instance.getClasses().end(); iter++) {
    prewalk(**iter);
  }

  typedef std::vector <Namespace*>::iterator NamespaceIterType;
  for (NamespaceIterType iter = instance.getNamespaces().begin(); iter != instance.getNamespaces().end(); iter++) {
    prewalk(**iter);
  }

}
NotFoundException::NotFoundException(const Namespace& name_space,
                                     const Item& item) throw()
{
    string nsCategory;
    if (dynamic_cast<const Class*>(&name_space))
        nsCategory = "Class";
    else
        nsCategory = "Namespace";

    string itemCategory;
    const Method* method = NULL;
    if (dynamic_cast<const Class*>(&item))
        itemCategory = "Class";
    else if (dynamic_cast<const Namespace*>(&item))
        itemCategory = "Namespace";
    else if (dynamic_cast<const Property*>(&item))
        itemCategory = "Property";
    else if (dynamic_cast<const Method*>(&item))
    {
        itemCategory = "Method";
        method = dynamic_cast<const Method*>(&item);
    }
    else if (dynamic_cast<const Function*>(&item))
        itemCategory = "Function";
    else if (dynamic_cast<const Type*>(&item))
        itemCategory = "Type";

    msg = nsCategory + " " + name_space.getName() + " has no " +
          itemCategory;

    if (!method || !method->hasFullSignature())
        msg += " with name " + item.getUnqualifiedName();
    else
        msg += " with signature " + method->getSignature();
}