hello:
In this thread http://forums.next.codeblocks.org/index.php/topic,10641.0.html (http://forums.next.codeblocks.org/index.php/topic,10641.0.html)
class ATL_NO_VTABLE CHyperLinkImpl : public ATL::CWindowImpl< T, TBase, TWinTraits >
{
public:
LPTSTR m_lpstrLabel;
LPTSTR m_lpstrHyperLink;
HCURSOR m_hCursor;
HFONT m_hFont;
HFONT m_hFontNormal;
};
codes above can be parsed correctly now.
here is the patch
Index: parserthread.cpp
===================================================================
--- parserthread.cpp (revision 5696)
+++ parserthread.cpp (working copy)
@@ -1345,6 +1357,8 @@
}
}
}
+ else
+ m_Tokenizer.GetToken();
}
else
break;
[attachment deleted by admin]
forget to mention .It's brach version .
I applied to my local trunk copy.
It seems "CHyperLinkImpl " has no Ancestors.
m_Tokenizer.GetToken();
will eat the next Token. :D
By the way, the BraceCompletion related code was add in cbEditor, not CodeCompletion. in the current trunk :D
QuoteIt seems "CHyperLinkImpl " has no Ancestors.
I found that too .because CWindowImpl didnt exist in this case.
class MyClass
{
int x;
int y;
};
class ATL_NO_VTABLE CHyperLinkImpl : public MyClass
{
LPTSTR m_lpstrLabel;
LPTSTR m_lpstrHyperLink;
HCURSOR m_hCursor;
HFONT m_hFont;
HFONT m_hFontNormal;
};in this case ,it will have one . :D
aha, it really works if its ancestor is a template.
template<typename T1, typename T2>
class MyClass
{
T1 x;
T2 y;
};
class ATL_NO_VTABLE CHyperLinkImpl1 : public MyClass<float,int>
{
LPTSTR m_lpstrLabel;
LPTSTR m_lpstrHyperLink;
HCURSOR m_hCursor;
HFONT m_hFont;
HFONT m_hFontNormal;
};
This still works fine!!
:D
by the way,I have sent a e-mail to you ,Do you copy that.