Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development
modify codecompletion plugin to macro parser
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