|
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 > > |