Ticket #3 (accepted defect)
vb to c# parser fails on definition of types and classes
| Reported by: | xyon75 | Owned by: | sevo |
|---|---|---|---|
| Priority: | critical | Component: | doxyvb |
| Version: | 2.4 | Keywords: | |
| Cc: |
Description
Hi again.
I tested the new version on the same source, having this result:
[header...]
00012 class clsRegistry
00013 {
00014
(the file stops here).
Same for Types definitions:
[header...]
00010 public struct OGGETTO
00011 {
00012
(the file stops here).
One more thing: i noticed in the 2.3.1 version that only on class files (.cls) the public/private(/friend) property of constants, variables, methods, etc. is detected. Is that normal?
Thanks again for your work!
Attachments
Change History
comment:1 Changed 5 months ago by sevo
- Status changed from new to accepted
- could you attach or send me your vb source file, on which doxygen fails, please? (you may want to remove the real code, so it contains only the declarations)
- the filter does not bother about the file extenstions. Have you declaed the other extensions in your Doxyfile?
- And btw, does the Let/Set? fix from r38 #2 (http://trac.sevo.org/projects/doxyvb/export/38/trunk/vbfilter.awk) work for you?
comment:2 Changed 4 months ago by xyon75
- See the attached zip (with version 2.3.1 worked almost fine).
- It seems that the public/private attributes are recognized only inside classes.
- Works for let/get and get, but let/set only properties are blanked. The let/get and get only definitions also doesn't appear anymore in the package definitions.
(You can delete the second ticket i opened for this topic, btw).
comment:3 Changed 4 months ago by sevo
sorry, the APPEND permission was not set for registered users. From now on you can simply add a comment or attach something to a ticket.
Or mail to sevo (at) sevo (dot) org.
- private / public is recognized in both, classes and modules. But modules do not appear as classes or packages. You can open the "Files" section in your doc and open the file containing the module. There will be all declarations. I could try adding an option to recognize modules as own packages, is that what you're thinking of?
- the problem with classic VB properties is that they have more then one block, as I have commented before. Its very difficult (at least with awk) to handle this. So its a "wontfix" for me, as I have not much time. So try to declare Let/Set first and Get as last block. The other thing is Let "only", for what is it good for? To check some conditions when assigning a private variable, a SetVariable() function would be much cleaner, since a property with only a "Set/Let" is not a real property (as of OOP, it should have at least a private Get).
I've tried your example. every thing works as expected (methods, props) except of type definitions. That should be fixed in r42 now.

