|
From: Grzegorz J. <ja...@he...> - 2002-12-02 08:58:09
|
> I want to change the function return type from double to string. Can
> anybody tell me how to accomplish it?
This is a good question. I am not sure if OpenC++ lets you do it
out-of-the-box. If you figure out that you want to implement this
functionality by yourself, have a look at Member::SetArgumentList()
and search for 'new_args' in member.{h,cc} .
Best regards
GJ
>
> //sample code
> Class A {
> Public:
>
> A(){}
> ~A(){}
> double func();
>
> };
> double A::func() {
> double d;
> cout<<"func is called"<<endl;
> return d;
> }
>
> In this code, I want to change the function return type to char in all
> the places i.e. in function declaration and definition. Inside the
> function definition, I am able to change it but not the return type.
>
> Any help is welcome.
> - Thanx SureshLalwani.
>
>
>
>
>
> -----Original Message-----
> From: own...@cs...
> [mailto:own...@cs...] On Behalf Of Grzegorz Jakacki
> Sent: Tuesday, November 26, 2002 2:10 AM
> To: OpenC++
> Subject: RE: [opencxx] Looking for help
>
> On Mon, 25 Nov 2002, suresh wrote:
>
> > Hi,
> > I have solved the first and third problem mentioned in my previous
> > email. Thanx for you guys help. For the second problem, which is
> finding
> > the instantiation of all the objects of a class (classA), I just need
> to
> > know the instantiation statements. I don't want any runtime
> information.
> > Based on the objects (object names), I have to add MACROs in the
> header
> > file of ClassA. The macro will take object name as an argument.
> >
> > Explaination:
> >
> > /* classA in file classA.h and classA.cpp */
> > Class classA {
> > .....
> > .....
> > ......
> > }
> >
> > /* classB in file classB.h and classB.cpp */
> > class classB {
> > .....
> > classA objA1;
> > classA objA2 = new classA;
> ^^^^^^^^^^^^
> classA* objA2 ?
>
> > .....
> > }
> >
> > Now I need to add MACRONAME(objA1) and MACRONAME(objA2) in the header
> > file of classA.
>
> Do you want to translate individual header files? It is going to be
> difficult, since OpenC++ sits behind preprocessor, so it does not really
> see separate header files. If it is enough to just add the macros in
> *translation unit*, that should be easy (see AppendAfterTopLevel()).
> Remember to instruct OpenC++ to perform second preprocessor pass.
> If this advice is not what you are looking for then I am afraid you have
> to shed some more light on why do you need those macros.
>
> > Any help is welcome. I am facing one more problem, I
> > tried translateNew But translateNew's arguments don't have the object
> > name.
>
> Because object created with "new" does not have a name. What do you mean
> by "object name" in:
>
> some_function(2, new classA);
>
> ?
>
> Do you really want to find all instantiations or just instantiations of
> some specific form (e.g. "classA* ID = new classA") and nothing else?
>
> Best regards
> Grzegorz
>
> ##################################################################
> # Grzegorz Jakacki Huada Electronic Design #
> # Senior Engineer, CAD Dept. 1 Gaojiayuan, Chaoyang #
> # tel. +86-10-64365577 x2074 Beijing 100015, China #
> # Copyright (C) 2002 Grzegorz Jakacki, HED. All Rights Reserved. #
> ##################################################################
>
>
>
>
>
>
>
##################################################################
# Grzegorz Jakacki Huada Electronic Design #
# Senior Engineer, CAD Dept. 1 Gaojiayuan, Chaoyang #
# tel. +86-10-64365577 x2074 Beijing 100015, China #
# Copyright (C) 2002 Grzegorz Jakacki, HED. All Rights Reserved. #
##################################################################
|