We are past API-freeze, so I think the answer is no.
However, you can use IASTTranslationUnit.getNodeFactory(). The method is marked
as @noreference, you can request to make it part of the public
API.
If you have the need to create an IASTTranslationUnit the
situation is more difficult and we'd need some ideas on how to deal with that.
--> bugzilla.
Markus.
From:
cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of
Richard Miskin Sent: Tuesday, March 17, 2009 11:49
AM To: 'CDT General developers list.' Subject: RE: [cdt-dev]
IType and @noextend Importance: Low
Markus,
Thanks for your response;
using the factory methods makes sense and will clean up a lot of our code. Do
you think that a public mechanism for accessing node-factories will be
in place for CDT 6.0?
Cheers,
Richard
From:
cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf
Of Schorn, Markus Sent: Tuesday 17 March 2009
08:44 To: CDT General developers list. Subject: RE:
[cdt-dev] IType and @noextend
Extending
AbstractLanguage is supported. The primary use case is to configure existing
parsers via IScannerExtensionConfiguration, ICParserExtensionConfiguration and
ICPPParserExtensionConfiguration.
We are
close to also allow for introducing new parsers that use the same AST. For
that we have node factories (interface INodeFactory). However, at this point
there is no public way to access the node-factories.
Extending
the AST/Types outside of CDT is not supported. Extensions to the AST need to
be public such that clients of the AST can deal with them.
From:
cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On
Behalf Of Richard Miskin Sent: Monday, March 16, 2009 6:20
PM To: 'CDT General developers list.' Subject: [cdt-dev]
IType and @noextend Importance: Low
Hi guys,
Looking at IType in CVS it seems to have gained an
@noextend and an @noimplement and the only implementations appear to be
internal, so shouldn’t be used. Indeed looking at other code a lot of
the public interfaces appear to have gained @noextend (e.g. ICBasicType,
ICPPBasicType, IASTNode, IASTTranslationUnit, ICASTCompositeTypeSpecifier
etc). Is the intention that there should be only the default CDT
implementation of these?
We’re currently implementing our own AbstractLanguage and
have been carefully avoiding using internal code which means having to
implement our own versions of all of these interfaces. Is creating a new
language not supported in CDT 6.0? Is there some other way that this should
be done?
Cheers,
Richard
The
information transmitted is intended only for the person or entity to which
it is addressed and may contain confidential and/or privileged material. If
you are not the addressee, any disclosure, reproduction, copying,
distribution, or other dissemination or use of this communication is
strictly prohibited. If you have received this transmission in error please
notify the sender immediately and then delete this
email.
Any
representations or commitments expressed in this email are subject to
contract.
This
message has been scanned for viruses and dangerous content. However, it is
essential that the recipient also checks this message using commercially
available mail scanning and anti-virus software. IPL Information Processing
Limited accepts no liability for any loss or damage resulting from any virus
or other dangerous content in this message.
IPL
Information Processing Limited is registered in England and Wales under
company registration number 1418818. Registration took place at Cardiff on
10 May 1979. IPL Information Processing Limited's registered office and
normal place of business is Eveleigh House, Grove Street, Bath, BA1 5LR,
United Kingdom. IPL is also registered for Value Added Tax (VAT) under
registration number GB 601 2931
83.
The
information transmitted is intended only for the person or entity to which it
is addressed and may contain confidential and/or privileged material. If you
are not the addressee, any disclosure, reproduction, copying, distribution, or
other dissemination or use of this communication is strictly prohibited. If
you have received this transmission in error please notify the sender
immediately and then delete this email.
Any
representations or commitments expressed in this email are subject to
contract.
This
message has been scanned for viruses and dangerous content. However, it is
essential that the recipient also checks this message using commercially
available mail scanning and anti-virus software. IPL Information Processing
Limited accepts no liability for any loss or damage resulting from any virus
or other dangerous content in this message.
IPL
Information Processing Limited is registered in England and Wales under
company registration number 1418818. Registration took place at Cardiff on 10
May 1979. IPL Information Processing Limited's registered office and normal
place of business is Eveleigh House, Grove Street, Bath, BA1 5LR, United
Kingdom. IPL is also registered for Value Added Tax (VAT) under registration
number GB 601 2931 83.
|