Missing base classifier after C++ reversing ICU library

General discussions about code engineering

Moderator: Moderators

Missing base classifier after C++ reversing ICU library

Postby henry@roeland.net » Fri Oct 08, 2010 1:26 pm

Hi everyone,

I'm new to MagicDraw and I'm trying to reverse engineering the ICU library (Unicode library from IBM). After some hours getting the macro settings right I've got a parse of 149 files without errors.
But I'm missing some relation to base classifiers. The UnicodeString class, witch its the one to use, has Replaceable as base class then -> UObject -> UMemory. All classes are shown in MagicDraw except the base class relation between them.

I have a theory about this: ICU uses class prototypeing so a class defined with its name only. Can the MagicDraw C++ parser not handle class prototyping?

Hope for some help.

For anyone needing the Macros for ICU:
/* ICU Macros */
#define __cplusplus
#define U_EXPORT
#define U_EXPORT2
#define U_IMPORT
#define U_CALLCONV
#define U_STABLE extern "C"
#define U_NAMESPACE_BEGIN namespace icu {
#define U_COMMON_API
#define U_I18N_API
#define U_CAPI extern "C"
#define U_CDECL_BEGIN extern "C" {
#define U_CDECL_END }
#define U_DRAFT U_CAPI
#define U_CFUNC extern

Thanks for any help.


Henry Roeland
Forum Newbie
Forum Newbie
Posts: 1
Posts Rating:0
Joined: Fri Oct 08, 2010 12:52 pm

Re: Missing base classifier after C++ reversing ICU library

Postby bhoomchai » Tue Oct 12, 2010 3:28 am

The reverse process might be stopped before the file, uobject.h, is reversed. The class prototyping is not a problem for MagicDraw C++ parser.
By the way, while resolving macros problem, you may see that MagicDraw C++ parser will stop after 3 errors. You may want to change the behavior for this. Right-click at the code engineering set and select Properties. You will see the option, "Parse error before stop". You can change the value to 0 to let MagicDraw continue to parse until the last files.

Best regards,
Customer Support
Customer Support
Posts: 36
Posts Rating:5
Joined: Thu Jan 21, 2010 12:38 am

Return to Code engineering

Who is online

Users browsing this forum: No registered users and 0 guests