Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Parsing macros in the declaration

Hi,

The macro expansion itself is recorded, you can find it via IASTTranslationUnit.getMacroExpansions() .

You are right, the methods you are named getSyntax(), getLeadingSyntax() and getTrailingSyntax().

Markus.

 

From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Sanjesh R Nair
Sent: Wednesday, July 06, 2011 11:16
To: CDT General developers list.
Subject: Re: [cdt-dev] Parsing macros in the declaration
Importance: Low

 

Thanks Markus,

So, as I see, the only way to get this macro or the macro expansion is to loop through the tokens part of the syntax.
Also, the method that I found with the ASTNode was ASTNode.getLeadingSyntax() and getSyntax() and not getLeadingTokens(). Is this the correct set of methods or am I missing something?

Thanks,
Sanjesh.

From:

"Schorn, Markus" <Markus.Schorn@xxxxxxxxxxxxx>

To:

"CDT General developers list." <cdt-dev@xxxxxxxxxxx>

Date:

07/06/2011 01:14 PM

Subject:

Re: [cdt-dev] Parsing macros in the declaration

Sent by:

cdt-dev-bounces@xxxxxxxxxxx

 





Hi Sanjesh,
The CDT parser preprocesses the source code (which includes expanding macros) and creates an AST for the result. However, the AST does not have a representation for ‘__declspec(dllimport)’, this particular information is dropped.
As a workaround you can look at the tokens before the name ‘X’, using ASTNode.getLeadingTokens() on the ASTNode representing the name ‘X’.
Markus.
 
From: cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Sanjesh R Nair
Sent:
Thursday, June 30, 2011 11:33
To:
cdt-dev@xxxxxxxxxxx
Subject:
[cdt-dev] Parsing macros in the declaration
Importance:
Low

 
Hi All,

Does CDT parse and load the following declaration in the AST model?

       


               #define IMPORT __declspec(dllimport)

               class IMPORT X {};


Would I get the __declspec(dllimport) or the macro as part of the AST?


Thanks,

Sanjesh.
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev


Back to the top