From: Andre B. <and...@gm...> - 2004-08-12 09:15:15
|
hello Baptiste, I'm not sure about the status of the two source trees at the moment. However I could not get the "src/*" tree compiled because of missing files. For that reason I continued to look through "example/cppparser/tests". Aspecially the refactoring tests were intressting for me "refactoring/test1.cpp - test6.cpp I found out that the symboltable generates two entries for the declarations "class C1;" and "class C1 { .... }". SymbolDeclarator::declareClass inserts: SymbolDeclarationPtr declaration = symbolTable_.declare( classSymbol ); SymbolDeclarator::declareForwardClass does the same: SymbolDeclarationPtr declaration = symbolTable_.declare( classSymbol ); Last but not least the member "symboltable.declare" does: SymbolTable::declare( const Symbol &symbol ) { SymbolDeclarationPtr declaration( new SymbolDeclaration( symbol ) ); references_[ declaration ].push_back( symbol.location() ); return declaration; } ====== this leads to a hashmap "references_" which has two entries. During refactoring tests the test code asks for the declaration at position 'x': Parser::SymbolDeclarationPtr declaration = table.findDeclarationAt( location ); This will only return a single declaration and it's references. However, all other forward declarations are missed. Possible solutions are: - model the declaration type differently, such that multiple locations of declarations are possible (sounds a little bit ugly) - make references between all forward-declarations and declarations, these need to be two way links, because the user could select the forward-declaration for rename-operation... any idea ? greetings from Berlin, André |
From: Baptiste L. <gai...@fr...> - 2004-08-13 07:03:04
|
You're correct, there's something broken (but then, I've been growing thi= s on a test basis). I think something along the line of: > Parser::SymbolDeclarationPtr declaration =3D table.findDeclaration= At( > location ); Parser::DeclarationPtrEnum enumDeclarations =3D table.enumSiblingDeclaration( declaration ); // the enum includes 'declaration'. Give all declarations that resolve into the same qualified identifier based on global scope. (e.g. you're second option). Baptiste. ----- Original Message -----=20 From: "Andre Baresel" <and...@gm...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Thursday, August 12, 2004 11:14 AM Subject: [Cpptool-develop] debugging example/cppparser/tests > hello Baptiste, > > I'm not sure about the status of the two source trees at the moment. > However I could not get the "src/*" tree compiled because of missing files. > For that reason I continued to look through "example/cppparser/tests". > Aspecially the refactoring tests were intressting for me > "refactoring/test1.cpp - test6.cpp > > I found out that the symboltable generates two entries for the > declarations "class C1;" and "class C1 { .... }". > > SymbolDeclarator::declareClass inserts: > SymbolDeclarationPtr declaration =3D symbolTable_.declare( classSymb= ol ); > > SymbolDeclarator::declareForwardClass does the same: > SymbolDeclarationPtr declaration =3D symbolTable_.declare( classSymb= ol ); > > Last but not least the member "symboltable.declare" does: > SymbolTable::declare( const Symbol &symbol ) > { > SymbolDeclarationPtr declaration( new SymbolDeclaration( symbol ) ); > references_[ declaration ].push_back( symbol.location() ); > return declaration; > } > > =3D=3D=3D=3D=3D=3D > this leads to a hashmap "references_" which has two entries. > > During refactoring tests the test code asks for the declaration at > position 'x': > Parser::SymbolDeclarationPtr declaration =3D table.findDeclaration= At( > location ); > > This will only return a single declaration and it's references. However= , > all other forward declarations are missed. > > Possible solutions are: > - model the declaration type differently, such that multiple locations > of declarations are possible > (sounds a little bit ugly) > - make references between all forward-declarations and declarations, > these need to be two way > links, because the user could select the forward-declaration for > rename-operation... > > any idea ? > greetings from Berlin, > Andr=E9 |
From: Baptiste L. <gai...@fr...> - 2004-08-13 07:06:41
|
----- Original Message ----- From: "Andre Baresel" <and...@gm...> To: "CppTool Mailing List" <Cpp...@li...> Sent: Thursday, August 12, 2004 11:14 AM Subject: [Cpptool-develop] debugging example/cppparser/tests > hello Baptiste, > > I'm not sure about the status of the two source trees at the moment. > However I could not get the "src/*" tree compiled because of missing files. > For that reason I continued to look through "example/cppparser/tests". > Aspecially the refactoring tests were intressting for me > "refactoring/test1.cpp - test6.cpp src/* should compile (under vc 7.1, I haven't updated the vc 6 projects, and I doubt vc6 can compile the boost.python stuff). Are you still using vc 6 ? By the way, test6.cpp is not in CVS. Baptiste. |
From: Andre B. <and...@gm...> - 2004-08-13 09:00:18
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type"> <title></title> </head> <body bgcolor="#ffffff" text="#000000"> Hello baptiste,<br> <br> <blockquote cite="mid005701c48104$a6649b40$1c24223e@lain" type="cite"> <blockquote type="cite"> <pre wrap=""> I'm not sure about the status of the two source trees at the moment. However I could not get the "src/*" tree compiled because of missing </pre> </blockquote> <pre wrap=""><!---->files. </pre> </blockquote> header for Nodetracking and nodetrackingtest are missing !<br> <br> <blockquote cite="mid005701c48104$a6649b40$1c24223e@lain" type="cite"> <blockquote type="cite"> <pre wrap="">For that reason I continued to look through "example/cppparser/tests". Aspecially the refactoring tests were intressting for me "refactoring/test1.cpp - test6.cpp </pre> </blockquote> <pre wrap=""><!----> src/* should compile (under vc 7.1, I haven't updated the vc 6 projects, and I doubt vc6 can compile the boost.python stuff). Are you still using vc 6 ? By the way, test6.cpp is not in CVS. </pre> </blockquote> this is my own creation while playing arround with the code... I want to extend the tests a little bit<br> to understand whats going on...<br> <br> </body> </html> |
From: Baptiste L. <gai...@fr...> - 2004-08-14 14:43:22
|
nodetracker.cpp & nodetrackertest.cpp should not be part of the = cppparser sources (there's the stuff to modifying the source tree =3D> = refactoring). Baptiste. ----- Original Message -----=20 From: Andre Baresel=20 To: CppTool Mailing List=20 Sent: Friday, August 13, 2004 10:59 AM Subject: Re: [Cpptool-develop] debugging example/cppparser/tests Hello baptiste, I'm not sure about the status of the two source trees at the moment. However I could not get the "src/*" tree compiled because of missing files. header for Nodetracking and nodetrackingtest are missing ! For that reason I continued to look through "example/cppparser/tests". Aspecially the refactoring tests were intressting for me "refactoring/test1.cpp - test6.cpp =20 src/* should compile (under vc 7.1, I haven't updated the vc 6 projects, = and I doubt vc6 can compile the boost.python stuff). Are you still using vc = 6 ? By the way, test6.cpp is not in CVS. this is my own creation while playing arround with the code... I want = to extend the tests a little bit to understand whats going on... ------------------------------------------------------- SF.Net email = is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic = DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off = Retail on Ink & Toner - Free Shipping and Free Gift. = http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 = _______________________________________________ Cpptool-develop mailing = list Cpp...@li... = https://lists.sourceforge.net/lists/listinfo/cpptool-develop |
From: Andre B. <and...@gm...> - 2004-08-16 18:47:19
|
>src/* should compile (under vc 7.1, I haven't updated the vc 6 projects, and >I doubt vc6 can compile the boost.python stuff). Are you still using vc 6 ? > > > is this Boost 1.31.0 ? I got the latest version of boost working (regexp and python libraries). greetings, André |
From: Baptiste L. <gai...@fr...> - 2004-08-16 20:12:31
|
No it's current boost CVS (very close to 1.32 which should hopefully be released soon). Though, you probably should be able to compile it with 1.= 31, but I might have used some boost.python specific to the current CVS. Baptiste. ----- Original Message -----=20 From: "Andre Baresel" <and...@gm...> To: "Baptiste Lepilleur" <gai...@fr...>; "CppTool Mailing List" <Cpp...@li...> Sent: Monday, August 16, 2004 8:47 PM Subject: Re: [Cpptool-develop] debugging example/cppparser/tests > > >src/* should compile (under vc 7.1, I haven't updated the vc 6 project= s, and > >I doubt vc6 can compile the boost.python stuff). Are you still using v= c 6 ? > > > > > > > is this Boost 1.31.0 ? > I got the latest version of boost working (regexp and python libraries= ). > > greetings, > Andr=E9 > > |