Your message dated Tue, 1 Feb 2005 14:00:12 -0700
with message-id <[EMAIL PROTECTED]>
and subject line Bug#290729: graphviz: Nice class diagram doesn't display 
template-based classess
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 16 Jan 2005 10:01:47 +0000
>From [EMAIL PROTECTED] Sun Jan 16 02:01:47 2005
Return-path: <[EMAIL PROTECTED]>
Received: from pollux.ds.pg.gda.pl [153.19.208.7] (postfix)
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1Cq7EB-00075r-00; Sun, 16 Jan 2005 02:01:47 -0800
Received: from localhost (localhost [127.0.0.1])
        by pollux.ds.pg.gda.pl (Postfix) with ESMTP id 1EF73F5949
        for <[EMAIL PROTECTED]>; Sun, 16 Jan 2005 11:01:42 +0100 (CET)
Received: from pollux.ds.pg.gda.pl ([127.0.0.1])
 by localhost (pollux [127.0.0.1]) (amavisd-new, port 10024) with ESMTP
 id 20710-09 for <[EMAIL PROTECTED]>;
 Sun, 16 Jan 2005 11:01:41 +0100 (CET)
Received: from piorun.ds.pg.gda.pl (piorun.ds.pg.gda.pl [153.19.208.8])
        by pollux.ds.pg.gda.pl (Postfix) with ESMTP id CAD38F5946
        for <[EMAIL PROTECTED]>; Sun, 16 Jan 2005 11:01:41 +0100 (CET)
Received: from absurd.kozicki.pl ([EMAIL PROTECTED] [153.19.207.4])
        by piorun.ds.pg.gda.pl (8.13.1/8.13.1) with ESMTP id j0GA1hhq013822
        for <[EMAIL PROTECTED]>; Sun, 16 Jan 2005 11:01:43 +0100
Received: from janek by absurd.kozicki.pl with local (Exim 3.36 #1 (Debian))
        id 1Cq7E7-0001Ij-00; Sun, 16 Jan 2005 11:01:43 +0100
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
From: Janek Kozicki <[EMAIL PROTECTED]>
To: Debian Bug Tracking System <[EMAIL PROTECTED]>
Subject: graphviz: Nice class diagram doesn't display template-based classess
X-Mailer: reportbug 3.2
Date: Sun, 16 Jan 2005 11:01:43 +0100
Message-Id: <[EMAIL PROTECTED]>
X-Virus-Scanned: ClamAV 0.80/661/Tue Jan 11 02:44:13 2005
        clamav-milter version 0.80j
        on piorun.ds.pg.gda.pl
X-Virus-Status: Clean
X-Virus-Scanned: by amavisd-new at pollux.ds.pg.gda.pl
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
        autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 

Package: graphviz
Version: 1.16-1
Severity: important


First of all - graphviz is really great package, together with kdevelop
it makes all the developing work a lot easier.

I rate this bug important, because purpose of graphviz is to display
class diagrams. And not displaying some parts of whole class hierarchy
is .. um - important bug ;)


Ok, so a class that inherits from template class is quietly ignored, and
not displayed on the diagram. At least I should expect some warning.

Concrete example:

// file Singleton.hpp

template <class T>
class Singleton
{
  public:
    static T& instance()
    {
      static T obj;
      return obj;
    }
  protected:
    Singleton() {};
    ~Singleton() {};
  private:
    Singleton(const Singleton&);
    Singleton& operator=(const Singleton&);
};

// file Factory.hpp

class Factory : public Singleton< Factory >
{
  /* ... */
}

////

Singleton is a well known C++ design pattern, by the way ;) And really
useful. So ignoring class derived from it can be sometimes really
confusing, as I'm looking onto the diagram and can't find some of my
classes.


How to handle that? Each template instatination is a separate type.
Three possible solutions I see. Suppose I have also another 
class Omega : public Singleton<Omega>; then:

1.

Singleton<Omega>    Singleton<Factory>
     |                      |
   Omega                Factory

The base class Singleton<Factory> is different than base class
Singleton<Omega>

2.
             Singleton
          /             \   --------- (*)
         /               \
Singleton<Omega>    Singleton<Factory>
     |                      |
   Omega                Factory

(*) those lines could be dotted to indicate relationship other than just
inheritance. In fact this is a "template instatination" relationship

3.
          Singleton
           /      \
          /        \    --- same here - dotted lines would be better
         |          |
     Omega       Factory



Personally I'd prefer solutions 1. or 2. Maybe there are other
solutions, I can't think of now :))

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.4.26
Locale: LANG=pl_PL, LC_CTYPE=pl_PL (charmap=ISO-8859-2)

Versions of packages graphviz depends on:
ii  libc6                    2.3.2.ds1-20    GNU C Library: Shared libraries an
ii  libexpat1                1.95.8-1        XML parsing C library - runtime li
ii  libfontconfig1           2.2.3-4         generic font configuration library
ii  libfreetype6             2.1.7-2.3       FreeType 2 font engine, shared lib
ii  libice6                  4.3.0.dfsg.1-10 Inter-Client Exchange library
ii  libjpeg62                6b-9            The Independent JPEG Group's JPEG 
ii  libpng12-0               1.2.8rel-1      PNG library - runtime
ii  libsm6                   4.3.0.dfsg.1-10 X Window System Session Management
ii  libx11-6                 4.3.0.dfsg.1-10 X Window System protocol client li
ii  libxaw7                  4.3.0.dfsg.1-10 X Athena widget set library
ii  libxext6                 4.3.0.dfsg.1-10 X Window System miscellaneous exte
ii  libxmu6                  4.3.0.dfsg.1-10 X Window System miscellaneous util
ii  libxpm4                  4.3.0.dfsg.1-10 X pixmap library
ii  libxt6                   4.3.0.dfsg.1-10 X Toolkit Intrinsics
ii  tcl8.4                   8.4.9-1         Tcl (the Tool Command Language) v8
ii  tk8.4                    8.4.9-1         Tk toolkit for Tcl and X11, v8.4 -
ii  xlibs                    4.3.0.dfsg.1-10 X Keyboard Extension (XKB) configu
ii  zlib1g                   1:1.2.2-3       compression library - runtime

-- no debconf information

---------------------------------------
Received: (at 290729-done) by bugs.debian.org; 1 Feb 2005 21:00:47 +0000
>From [EMAIL PROTECTED] Tue Feb 01 13:00:46 2005
Return-path: <[EMAIL PROTECTED]>
Received: from mta10.adelphia.net [68.168.78.202] 
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1Cw58g-0004SK-00; Tue, 01 Feb 2005 13:00:46 -0800
Received: from co-monumnt-u1-c4b-114.clspco.adelphia.net ([69.161.205.34])
          by mta10.adelphia.net
          (InterMail vM.6.01.03.04 201-2131-111-106-20040729) with ESMTP
          id <[EMAIL PROTECTED]>;
          Tue, 1 Feb 2005 16:00:14 -0500
Received: by co-monumnt-u1-c4b-114.clspco.adelphia.net (Postfix, from userid 
1000)
        id E9D11E5D1; Tue,  1 Feb 2005 14:00:12 -0700 (MST)
Date: Tue, 1 Feb 2005 14:00:12 -0700
From: Stephen M Moraco <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc: Janek Kozicki <[EMAIL PROTECTED]>
Subject: Re: Bug#290729: graphviz: Nice class diagram doesn't display 
template-based classess
Message-ID: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
User-Agent: Mutt/1.3.28i
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
        autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 

Janek,

  The graphviz tool does not scan your sourcecode.  You must be using
  another tool which scans your source code and then invokes graphviz
  to generate the graphs.

  I believe the problem exists in the scanner, not in graphviz.

  Please file this against the tool which is scanning your source-code.

Regards,
Stephen
--


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to