Thanks very much for your reply.
With your suggestions I think I have got the problem.
By my code, some classes are written by other ppl and possibly for the easy
migration or something else they define a macro like this
#if defined(_WIN32)
#define MACRO __declspec(dllexport)
#blabla
and use this MACRO for class definition
class/struct MACRO classname
{
};
Then the classes defined like this, can not be correctly parsed, the command
"semantic-analyze-debug-assist" can only show the class type, but no member
of this class.
When I comment the MACRO, it works! GREAT~
Could it be avoided by adding some configuration in .emacs? if not, I think
this could be put in TODO list and solved later.
Finnally, thanks again for your help
>From: David Engster <deng@...>
>Subject: Re: [cedet-semantic] Is It a Bug?
>To: cedet-semantic@...
>Message-ID: <kzy6pyzk9u.fsf@...>
>Content-Type: text/plain; charset=us-ascii
>
>Weiyu Yi <inweiyu@...> writes:
>> I am a student from TU-Clausthal in Germany, now when I configured
>> semantic(in cedet of both cvs and 1.0pre6 version) with emacs
>
>Better stick with the CVS version, since there have been numerous things
>fixed since 1.0pre6 came out.
>
>Then, enable semantic through
>
>(load-file "<CEDET-PATH>/common/cedet.el")
>(semantic-load-enable-gaudy-code-helpers)
>
>to also get colored markings for the includes (see below).
>
>> When I toggled debug mode
(semantic-load-enable-semantic-debugging-helpers),
>> than:
>>
>> after command "semantic-ia-complete-symbol /-menu" or
>> "semantic-complete-analyze-inline", there is an ERROR:
>>
>>
-------------------------------------------------------------------------------------------
>> eieio-oref: Wrong type argument: (or eieio-object-p class-p), nil
>>
-------------------------------------------------------------------------------------------
>
>Don't know about that one. Please call "toggle-debug-on-error" before
>using complete-symbol to get a full backtrace, and post it here.
>
>> after these 2 commands above, only the simple system functions, i.e.
>> printf() can be found( prt => printf() ), but the functions and classes
in
>> the source/head files of the current directory, which are included by
>> #include "foo.h", cannot be found. The minibuffer shows " the type cannot
be
>> found". But from the manuel the semantic should search the included
>> headfiles automatically and recursively.
>
>Please go to the symbol you'd like to complete and call
>'semantic-analyze-debug-assist', and post its output here. If you enable
>the 'gaudy-code-helpers' as described above, the #include-line might be
>highlighted with some colored background. A red background means the
>include could not be found/parsed, a green one denotes includes which
>could be found but which are not parsed yet.
>
>Additionally, you should be able to right-click on the '#include
>"foo.h"' line to get a context menu. Choosing "What is this?" in this
>context menu will also give you further information about that include.
>
>Regards,
>David type argument: (or eieio-object-p class-p), nil
>>
-------------------------------------------------------------------------------------------
>
>Don't know about that one. Please call "toggle-debug-on-error" before
>using complete-symbol to get a full backtrace, and post it here.
>
>> after these 2 commands above, only the simple system functions, i.e.
>> printf() can be found( prt => printf() ), but the functions and classes
in
>> the source/head files of the current directory, which are included by
>> #include "foo.h", cannot be found. The minibuffer shows " the type cannot
be
>> found". But from the manuel the semantic should search the included
>> headfiles automatically and recursively.
>
>Please go to the symbol you'd like to complete and call
>'semantic-analyze-debug-assist', and post its output here. If you enable
>the 'gaudy-code-helpers' as described above, the #include-line might be
>highlighted with some colored background. A red background means the
>include could not be found/parsed, a green one denotes includes which
>could be found but which are not parsed yet.
>
>Additionally, you should be able to right-click on the '#include
>"foo.h"' line to get a context menu. Choosing "What is this?" in this
>context menu will also give you further information about that include.
>
>Regards,
>David
|