Version: (using KDE Devel) Installed from: Compiled sources OS: Linux The import code is taken from an old version of KDevelop. Investigate using more up to date KDevelop libraries.
I am having a look at updating the code import to use kdevelop's new CodeModel, and it looks promising so far. For example, the way methods and attributes are represented in the CodeModel is very much in line with Umbrello. Using the CodeModel could also open the door for integration with kdevelop. As a first step, large parts of kdevelop's programming language parsers/Abstract Syntax Tree walkers could be reused with little change. However, the current CodeModel is still too C++ centric. Examples: 1. The concept of "interface" is not there yet. 2. The CodeModel is capable of representing C++'s nested classes - something not possible in standard UML. (So probably nested classes would not appear in the UML model?) I will contact Roberto Raggi, architect of the kdevelop CodeModel, to further discuss this.
Subject: Re: [Uml-devel] update code import code Oliver Kellogg <okellogg@users.sourceforge.net> [031125 22:24]: > I am having a look at updating the code import to use > kdevelop's new CodeModel, and it looks promising so far. > For example, the way methods and attributes are represented > in the CodeModel is very much in line with Umbrello. This would be a very good way to go, but please no patches for this before KDE 3.2 is released! Steinchen
Roberto, Another place where I find the CodeModel incomplete is: comments. What do you think about adding a comment node to the CodeModel? Background: Promotion of oxygen comments was recently added to the Umbrello C++ class import. However, this is in the C++ specific part. IMHO what is needed here is a source language independent representation for comments.
Subject: Re: update code import code Hi! On Monday 08 December 2003 19:23, Oliver Kellogg wrote: > ------- Additional Comments From okellogg@users.sourceforge.net 2003-12-08 > 19:23 ------- Roberto, > > Another place where I find the CodeModel incomplete is: comments. > What do you think about adding a comment node to the CodeModel? I agree, I will add it after kdevelop 3.0 final :) ciao robe
Here's a question for Alex and Robe: How are the entities in the CodeModel identified? In Umbrello, each UML entity gets a unique model ID upon its creation. The model ID is used just about everywhere in the umbrello code for identifying the model element. (For example, many of the Qt signals used just transport the model ID and not much else.) The question of identity is important if we want to replace umbrello's current model classes by the CodeModel. Thanks, Oliver
Resolved, albeit in a lazy way: Just use the cppparser. Of course, the Right Thing would be to replace the umbrello model classes (UMLClassifier, UMLOperation, etc.) by their counterparts in the CodeModel, or - more ambitiously - turn umbrello's core workings into a plugin that could be used either in a standalone environment, or by kdevelop. BTW, promotion of comments is lost because cppparser/ast.h lacks a NodeType_Comment.
> 17:39 ------- Resolved, albeit in a lazy way: Just use the cppparser. > BTW, promotion of comments is lost because cppparser/ast.h > lacks a NodeType_Comment. I'm improving the codemodel and the cppparser, because atm it doesn't support doxygen like comments :( just wait a few days ciao robe