Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] How to find binding definition

As written in my initial reply:

We currently do not have support for that, however I have the bits in
place to add this sort of functionality.
Please create an enhancement request for this.

Markus.
 

> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx 
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Sanjesh R Nair
> Sent: Monday, November 10, 2008 10:26 AM
> To: CDT General developers list.
> Subject: RE: [cdt-dev] How to find binding definition
> Importance: Low
> 
> If it takes a performance hit, I may not be able to use it, 
> as this sort of processing would be used very heavily.
> Is there any better solutions?
> 
> Thanks,
> Sanjesh.
> 
> 
>                                                               
>                                                               
>              
>   From:       "Schorn, Markus" <Markus.Schorn@xxxxxxxxxxxxx>  
>                                                               
>              
>                                                               
>                                                               
>              
>   To:         "CDT General developers list." 
> <cdt-dev@xxxxxxxxxxx>                                         
>                               
>                                                               
>                                                               
>              
>   Date:       11/10/2008 02:10 PM                             
>                                                               
>              
>                                                               
>                                                               
>              
>   Subject:    RE: [cdt-dev] How to find binding definition    
>                                                               
>              
>                                                               
>                                                               
>              
> 
> 
> 
> 
> 
> What you get back from IASTTranslationUnit.getDeclarationsInAST()
> depends on
> how you created the translation-unit. In the case where it is 
> backed by the index it will not return declarations from 
> within included files that have been pulled in via the index. 
> If you create an AST without the use of an index, you'll find 
> what you need. However the creation of the entire AST is slow 
> and usually not an option.
> 
> Markus.
> 
> > -----Original Message-----
> > From: cdt-dev-bounces@xxxxxxxxxxx
> > [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Sanjesh R Nair
> > Sent: Monday, November 10, 2008 9:24 AM
> > To: CDT General developers list.
> > Subject: Re: [cdt-dev] How to find binding definition
> > Importance: Low
> >
> > Would this API give back the declaration of a binding 
> declared is some 
> > other file but referred in this TranslationUnit?
> >
> > Sanjesh.
> >
> >
> >
> >
> >
> >   From:       "Dmitry Smirnov" <divis1969@xxxxxxxxx>
> >
> >
> >
> >
> >
> >   To:         "CDT General developers list."
> > <cdt-dev@xxxxxxxxxxx>
> >
> >
> >
> >
> >   Date:       11/10/2008 12:31 PM
> >
> >
> >
> >
> >
> >   Subject:    Re: [cdt-dev] How to find binding definition
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Have you tried IASTTranslationUnit.getDeclarationsInAST()?
> > This probably will give you what you need (if I correctly 
> understand 
> > its description).
> >
> > 2008/11/7 Sanjesh R Nair <sanjesh.nair@xxxxxxxxxx>:
> > > Thanks Markus,
> > >
> > >      Will this hold true if, say,    Project1 refers Project2 and
> > Project3
> > > for certain declarations,  and Project2 and Project3 both have a 
> > > declaration of a class named Class2(same name). And a
> > file(Class1.h)
> > > from
> > > Project1 includes the header file(Class2.h) for the
> > declaration of Class2
> > > in Project2.    Now to get the declaration of Class2 which
> > is referred by
> > > Class1.h if i do  ---
> > >
> > >       (IIndexManager.getIndex(ICProject)),   where
> > ICProject is Project1.
> > >
> > >      and then index.findDefinitions(binding)
> > >
> > >      gives back two declarations one from Project2 and other from 
> > > Project3, probably because both of these projects are referred by
> > Project1,
> > > even though Class2.h from Project2 is the only include statement 
> > > Class1.h has.
> > >
> > >
> > > Sanjesh.
> > >
> > >
> > >
> > >  From:       "Schorn, Markus" <Markus.Schorn@xxxxxxxxxxxxx>
> > >
> > >  To:         "CDT General developers list." <cdt-dev@xxxxxxxxxxx>
> > >
> > >  Date:       11/07/2008 02:34 PM
> > >
> > >  Subject:    RE: [cdt-dev] How to find binding definition
> > >
> > >
> > >
> > >
> > >
> > >
> > > You should limit your index to the project of interest,
> > then the other
> > > projects will not be searched. (IIndexManager.getIndex(ICProject))
> > >
> > > Markus.
> > >
> > >> -----Original Message-----
> > >> From: cdt-dev-bounces@xxxxxxxxxxx
> > >> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Sanjesh R Nair
> > >> Sent: Friday, November 07, 2008 5:14 AM
> > >> To: cdt-dev@xxxxxxxxxxx
> > >> Subject: [cdt-dev] How to find binding definition
> > >> Importance: Low
> > >>
> > >>
> > >> Hi All,
> > >>
> > >>       How can we find the definition of a given binding?
> > >>
> > >>       Say, I have a class like below:
> > >>       #include "Class2.h"
> > >>       class Class1 {
> > >>             private:
> > >>                   Class2 attribute1;
> > >>       };
> > >>
> > >> And Class2 is declared in a different project. I have the 
> > >> ASTTranslationUnit of this file, which I am processing and
> > find the
> > >> attribute with type Class2(a binding). I need to 
> identify the file 
> > >> containing the declaration of this binding type. How can 
> I achieve 
> > >> this programmatically?
> > >>
> > >> One of the ways I found that can be used was to get the
> > >> index(IIndex) of the project containing Class1 and then
> > finding the
> > >> binding with it by calling:
> > >>       index.findDefinitions(binding);
> > >>
> > >> This method returns me back an array of IndexName. This 
> is fine if 
> > >> there is only one definition for the given binding.
> > >> But if there are multiple definitions(say, there is a class named
> > >> Class2 declared in a third project as well) then this 
> method would 
> > >> return multiple IndexNames. In this, scenario how can I
> > identify the
> > >> correct definition referenced in the project?
> > >>
> > >> Is there any other way to get the definition? Right now I
> > just want
> > >> to find the file containing the referenced definition. I
> > am using CDT
> > >> 5.0.
> > >>
> > >> Thanks,
> > >> Sanjesh.
> > >>
> > >> _______________________________________________
> > >> cdt-dev mailing list
> > >> cdt-dev@xxxxxxxxxxx
> > >> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > >>
> > > _______________________________________________
> > > cdt-dev mailing list
> > > cdt-dev@xxxxxxxxxxx
> > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > >
> > >
> > >
> > > _______________________________________________
> > > cdt-dev mailing list
> > > cdt-dev@xxxxxxxxxxx
> > > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> > >
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> >
> >
> >
> > _______________________________________________
> > cdt-dev mailing list
> > cdt-dev@xxxxxxxxxxx
> > https://dev.eclipse.org/mailman/listinfo/cdt-dev
> >
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> 
> 
> 
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> 


Back to the top