Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

modify codecompletion plugin to macro parser

(1/5) > >>

visualfc:
codecompletion plugin Inadequate
1. macro not parser
2. template<> not parser
3. class member method : MyClass::onTest(int i, int j) != MyClass::onTest(int k, int j)

I look at the above Issue and modify codecompletio plugin. the source based for svn5859( time 2009-11-10)

modify for next function :
*) macro parser .
   example BEGIN_EVENT_TABLE ...
*) template <> class parser
*) member method parser
   example OnAbout(wxCommandEvent& event) == OnAbout(wxCommandEvent& WXUNUSED(event))

download source and window bin:
http://code.google.com/p/visualfc/downloads/list

Captions edit wxWidgets source

Captions  edit WTL source

ollydbg:
Great!!!!!
I will test it tomorrow morning, (now ,I need to go to bed)  :D

Jenna:
I did not dig into it deeper (not so familiar with cc), but some remarks.

To make it compile on linux I had to change the type of GetRealArgs from TCHAR to wxChar and the type of the variable ptr in GetRealArgs also.

Find declaration and Find implementation (from context-menu) seems to be partially broken (it does not work for functions) , only tested some random functions and variables.
From symbols browser it works.

Searching in symbols browser is partially broken: if I search for Mgr (if C::B's project-file is open), it shows me the selection-dialog, but chosing any of the entries always jumps to the root-entry (Symbols).

As written, I only did a quick test on linux (debian 64-bit, wx 2.8.10, gcc 4.3.4).

visualfc:
Sorry!

The source only to make and build for Window and Test.

Searching in symbols browser is bug, I will try to repair the。

ollydbg:
Here is my comments:

1, it seems you just let the template argument appending to the "Token name", in my opinion, that is not a good idea, because it will disorder the Token tree, because the Token name is the tree's search key.

2, In the tokenizer.cpp , it seems you just regard every statement like "A(xxx) B(yyyy)" as Macros, that's may breaking of parsing some statement.

3, In tokenizer.cpp, when you read the "template arguments", I think the nestlevel should be considered. I think, from a moduality point, the related code can move from "tokenizer" class to "parserthread" class.

Anyway, Thanks for your efforts.

Navigation

[0] Message Index

[#] Next page

Go to full version