## Uses of Interface
org.eclipse.cdt.core.dom.ast.IASTNode

Packages that use IASTNode
org.eclipse.cdt.core.dom.ast
org.eclipse.cdt.core.dom.ast.c
org.eclipse.cdt.core.dom.ast.cpp
org.eclipse.cdt.core.dom.ast.gnu
org.eclipse.cdt.core.dom.ast.gnu.c
org.eclipse.cdt.core.dom.ast.gnu.cpp
org.eclipse.cdt.core.dom.parser.cpp

### Uses of IASTNode in org.eclipse.cdt.core.dom.ast

Subinterfaces of IASTNode in org.eclipse.cdt.core.dom.ast
`interface` `IASTAlignmentSpecifier` Represents an alignment specifier.
`interface` `IASTArrayDeclarator` This is the declarator for an array.
`interface` `IASTArrayModifier` This is the portion of the node that represents the portions when someone declares a variable/type which is an array.
`interface` `IASTArraySubscriptExpression` This interface represents a postfix array subscript expression. x[10] y.z()[t * t]
`interface` `IASTASMDeclaration` ASM Statement as a Declaration.
`interface` `IASTAttribute` Represents a C++11 (ISO/IEC 14882:2011 7.6) or a GCC attribute (http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html).
`interface` `IASTAttributeList` An attribute-specifier of the form [[ attribute-list ]] or __attribute__(( attribute-list )).
`interface` `IASTAttributeOwner` An AST node that may have attributes.
`interface` `IASTAttributeSpecifier` Represents a C++11 (ISO/IEC 14882:2011 7.6.1) or a GCC attribute specifier (http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html).
`interface` `IASTBinaryExpression` This interface represents a binary expression.
`interface` `IASTBinaryTypeIdExpression`
`interface` `IASTBreakStatement` This is the break clause in a loop.
`interface` `IASTCaseStatement` This is a case in a switch statement.
`interface` `IASTCastExpression` This interface represents a cast expression of the form (TypeId)operand.
`interface` `IASTComment` This class represents a comment.
`interface` `IASTCompositeTypeSpecifier` A composite type specifier represents a composite structure (contains declarations).
`interface` `IASTCompoundStatement` This represents a block of statements.
`interface` `IASTConditionalExpression` Conditional Expression of the format X ?
`interface` `IASTContinueStatement` This is the continue clause in a loop.
`interface` `IASTDeclaration` This is the root class of all declarations.
`interface` `IASTDeclarationListOwner` Common interface for parents of declaration lists.
`interface` `IASTDeclarationStatement` A declaration statement that introduces a declaration.
`interface` `IASTDeclarator` Base interface for a declarator.
`interface` `IASTDeclSpecifier` This is the base interface that represents a declaration specifier sequence.
`interface` `IASTDefaultStatement` This is the default clause in the switch statement.
`interface` `IASTDoStatement` Ye ol' do statement.
`interface` `IASTElaboratedTypeSpecifier` This represents an elaborated type specifier in the C & C++ language grammar.
`interface` `IASTEnumerationSpecifier` This interface represents enumerations in C and C++.
`static interface` `IASTEnumerationSpecifier.IASTEnumerator` This interface represents an enumerator member of an enum specifier.
`interface` `IASTEqualsInitializer` Initializer with equals sign (copy initialization) as in `int x= 0;`.
`interface` `IASTExpression` This is the root class of expressions.
`interface` `IASTExpressionList` Expression list (comma separated list of expressions).
`interface` `IASTExpressionStatement` Expression statement.
`interface` `IASTFieldDeclarator` This represents a field in a struct.
`interface` `IASTFieldReference` This interface represents expressions that access a field reference. e.g. a.b => a is the expression, b is the field name. e.g. a()->def => a() is the expression, def is the field name.
`interface` `IASTForStatement` The 'for' statement.
`interface` `IASTFunctionCallExpression` Represents a function call expression, f(x), where f is the function name expression and x is the parameter expression.
`interface` `IASTFunctionDeclarator` This is a declarator for a function.
`interface` `IASTFunctionDefinition` This is a function definition, i.e. it has a body.
`interface` `IASTFunctionStyleMacroParameter` This interface represents the name of a function style macro parameter.
`interface` `IASTGotoStatement` Represents a goto statement.
`interface` `IASTIdExpression` This is a name used in an expression.
`interface` `IASTIfStatement` The 'if' statement including the optional else clause.
`interface` `IASTImplicitDestructorName` An implicit name corresponding to a destructor call for a temporary or a variable going out of scope.
`interface` `IASTImplicitDestructorNameOwner` An AST node that may have implicit destructor names.
`interface` `IASTImplicitName` An implicit name is used to resolve uses of implicit bindings, such as overloaded operators.
`interface` `IASTImplicitNameOwner` An AST node that may have implicit names.
`interface` `IASTInitializer` This represents an initializer for a declarator.
`interface` `IASTInitializerClause` Interface for AST nodes that can nest in initializer lists.
`interface` `IASTInitializerExpression` Deprecated. Replaced by `IASTEqualsInitializer`.
`interface` `IASTInitializerList` Braced initializer list, for example as in: int a[]= {1,2,3};
`interface` `IASTLabelStatement` Represents a label statement.
`interface` `IASTLiteralExpression` This expression represents a literal in the program.
`interface` `IASTName` This class represents a name in the program that represents a semantic object in the program.
`interface` `IASTNamedTypeSpecifier` Represents the use of a typedef name in an decl specifier in C.
`interface` `IASTNullStatement` This node represents a null statement, ';'
`interface` `IASTParameterDeclaration` This class represents a parameter declaration
`interface` `IASTPointer` This represents the good ol' * pointer operator.
`interface` `IASTPointerOperator`
`interface` `IASTPreprocessorElifStatement` Represents a #elif preprocessor statement.
`interface` `IASTPreprocessorElseStatement` This interface represent a preprocessor #else statement.
`interface` `IASTPreprocessorEndifStatement` This interface represent a preprocessor #endif statement.
`interface` `IASTPreprocessorErrorStatement` This interface represent a preprocessor #error statement.
`interface` `IASTPreprocessorFunctionStyleMacroDefinition` This interface represent a preprocessor function-style macro definition. e.g.
`interface` `IASTPreprocessorIfdefStatement` This interface represent a preprocessor #ifdef statement.
`interface` `IASTPreprocessorIfndefStatement` This interface represent a preprocessor #ifndef statement.
`interface` `IASTPreprocessorIfStatement` This interface represent a preprocessor #if statement.
`interface` `IASTPreprocessorIncludeStatement` This interface represents a preprocessor #include statement.
`interface` `IASTPreprocessorMacroDefinition` This represents the definition of a macro.
`interface` `IASTPreprocessorMacroExpansion` Models macro expansion found in the source code that is not nested inside another expansion.
`interface` `IASTPreprocessorObjectStyleMacroDefinition` This interface represents an object-style macro definition. e.g.
`interface` `IASTPreprocessorPragmaStatement` Represents a #pragma directive or a pragma operator.
`interface` `IASTPreprocessorStatement` This is the base interface for all preprocessor directives.
`interface` `IASTPreprocessorUndefStatement` This interface represents a preprocessor #undef statement.
`interface` `IASTProblem` Interface for problems in the AST tree.
`interface` `IASTProblemDeclaration` This interface represents a parse problem where we tried to match against a declaration.
`interface` `IASTProblemExpression` This interface represents a parse problem where we tried to match against an expression.
`interface` `IASTProblemStatement` This interface represents a parse problem where we tried to match against a statement.
`interface` `IASTProblemTypeId` This interface represents a parse problem where we tried to match against a type-id.
`interface` `IASTReturnStatement`
`interface` `IASTSimpleDeclaration` This is a simple declaration which contains a sequence of declSpecifiers followed by a list of declarators.
`interface` `IASTSimpleDeclSpecifier` This represents a declaration specifier for a built-in type.
`interface` `IASTStandardFunctionDeclarator` This is a declarator for a non K&R C function.
`interface` `IASTStatement` This is the root interface for statements.
`interface` `IASTSwitchStatement` The switch statement.
`interface` `IASTToken` Represents an arbitrary code token.
`interface` `IASTTokenList` Represents a sequence of code tokens.
`interface` `IASTTranslationUnit` The translation unit represents a compilable unit of source.
`interface` `IASTTypeId`
`interface` `IASTTypeIdExpression`
`interface` `IASTTypeIdInitializerExpression` Compound literal: type-id { initializer }
`interface` `IASTUnaryExpression` This interface is used to represent a unary expression in the AST.
`interface` `IASTWhileStatement` Ye ol' while statement.

Fields in org.eclipse.cdt.core.dom.ast declared as IASTNode
`static IASTNode[]` IASTNode.`EMPTY_NODE_ARRAY`
`IASTNode` IASTCompletionNode.CompletionNameEntry.`fParent`

Methods in org.eclipse.cdt.core.dom.ast that return IASTNode
`IASTNode` IASTNode.`copy()` Returns a mutable copy of the tree rooted at this node.
`IASTNode` IASTNode.`copy(IASTNode.CopyStyle style)` Returns a mutable copy of the tree rooted at this node.
`IASTNode` IASTNodeSelector.`findEnclosingNode(int offset, int length)` Returns the smallest node enclosing the given range, or `null` if there is no such node.
`IASTNode` IASTNodeSelector.`findEnclosingNodeInExpansion(int offset, int length)` Returns the smallest node enclosing the range, or `null` if there is no such node.
`IASTNode` IASTNodeSelector.`findFirstContainedNode(int offset, int length)` Returns the first node contained in the given range, or `null` if there is no such node.
`IASTNode` IASTNodeSelector.`findFirstContainedNodeInExpansion(int offset, int length)` Returns the first node contained in the given expansion, or `null` if there is no such node.
`IASTNode` IASTNodeSelector.`findNode(int offset, int length)` Returns the node for the exact given range, or `null` if there is no such node.
`IASTNode` IASTNodeSelector.`findNodeInExpansion(int offset, int length)` Returns the node for the exact given range, or `null` if there is no such node.
`IASTNode` IASTNodeSelector.`findStrictlyEnclosingNode(int offset, int length)` Returns the smallest node strictly enclosing the given range, or `null` if there is no such node.
`IASTNode` IProblemBinding.`getASTNode()` Returns the AST node that this problem was created for
`IASTNode[]` IASTNode.`getChildren()` Returns the children of this node.
`IASTNode` IScope.ScopeLookupData.`getLookupPoint()`
`IASTNode` IASTNode.`getOriginalNode()` If the node is a copy of some other node, returns the original node.
`IASTNode` IASTCopyLocation.`getOriginalNode()`
`IASTNode` IASTNode.`getParent()` Returns the parent node of this node in the tree.
`IASTNode` IASTTranslationUnit.`selectNodeForLocation(java.lang.String path, int offset, int length)` Deprecated. use `IASTTranslationUnit.getNodeSelector(String)`, instead.

Methods in org.eclipse.cdt.core.dom.ast with parameters of type IASTNode
`boolean` IASTNode.`contains(IASTNode node)` Returns whether this node contains the given one.
`protected int` ASTGenericVisitor.`genericLeave(IASTNode node)`
`protected int` ASTGenericVisitor.`genericVisit(IASTNode node)`
`static java.lang.String` ASTSignatureUtil.`getNodeSignature(IASTNode node)` Deprecated. Return's the String representation of a node's type (if available).
`static java.lang.String` ASTTypeUtil.`getNodeType(IASTNode node)` For testing purposes, only.
`void` INodeFactory.`setEndOffset(IASTNode node, IASTNode endNode)` Adjusts the end-offset of a node to be the same as the end-offset of a given node.
`void` INodeFactory.`setEndOffset(IASTNode node, int endOffset)` Provides the end offset for a node.
`void` INodeFactory.`setOffsets(IASTNode node, int offset, int endOffset)` Provides the offsets for a node.
`void` IASTNode.`setParent(IASTNode node)` Sets the parent node of this node in the tree.

Constructors in org.eclipse.cdt.core.dom.ast with parameters of type IASTNode
Constructor and Description
`CompletionNameEntry(IASTName name, IASTNode parent)`
`ScopeLookupData(char[] name, IASTNode point)`

### Uses of IASTNode in org.eclipse.cdt.core.dom.ast.c

Subinterfaces of IASTNode in org.eclipse.cdt.core.dom.ast.c
`interface` `ICASTArrayDesignator` C-style array designator. e.g. struct ABC { int def[10] }; struct ABC instance = { def[0] = 9 };
`interface` `ICASTArrayModifier` This interface represents the role of a C array modifier.
`interface` `ICASTCompositeTypeSpecifier` Structs and Unions in C can be qualified w/restrict keyword.
`interface` `ICASTDeclSpecifier` C extension to IASTDeclSpecifier.
`interface` `ICASTDesignatedInitializer` This interface represents a designated initializer, e.g. struct x y = { .z = 4, .t[1] = 3 };
`interface` `ICASTDesignator` Base interface for all C-style designators.
`interface` `ICASTElaboratedTypeSpecifier` C's elaborated type specifier.
`interface` `ICASTEnumerationSpecifier` C Enumeration decl specifier.
`interface` `ICASTFieldDesignator` Specific designator that represents a field reference.
`interface` `ICASTPointer` C-specific pointer.
`interface` `ICASTSimpleDeclSpecifier` This interface represents a built-in type in C.
`interface` `ICASTTypedefNameSpecifier` This interface is just as an IASTNamedTypeSpecifier, except that it also includes the abiliy to use the restrict modifier.
`interface` `ICASTTypeIdInitializerExpression` C Expression of the format type-id { initializer } GCC allows compound literals for c++, therefore the interface was moved to the common ast interfaces (`IASTTypeIdInitializerExpression`).

### Uses of IASTNode in org.eclipse.cdt.core.dom.ast.cpp

Subinterfaces of IASTNode in org.eclipse.cdt.core.dom.ast.cpp
`interface` `ICPPASTAliasDeclaration` Represents a C++ alias declaration.
`interface` `ICPPASTAlignmentSpecifier` A C++ alignment-specifier.
`interface` `ICPPASTAmbiguousTemplateArgument` Place-holder in the AST for template arguments that are not yet understood.
`interface` `ICPPASTArrayDeclarator` Array declarator for C++
`interface` `ICPPASTArrayDesignator` Array designator, e.g. [4] in int a[6] = { [4] = 29, [2] = 15 };
`interface` `ICPPASTArraySubscriptExpression`
`interface` `ICPPASTAttribute` Represents a C++11 (ISO/IEC 14882:2011 7.6) attribute.
`interface` `ICPPASTAttributeList` Represents a C++11 (ISO/IEC 14882:2011 7.6.1 [dcl.attr.grammar]) attribute specifier of the form [[ attribute-list ]].
`interface` `ICPPASTBinaryExpression` C++ adds a few more binary expressions over C.
`interface` `ICPPASTCapture` Capture for a lambda expression, introduced in C++0x.
`interface` `ICPPASTCastExpression` C++ adds in additional cast-style expressions.
`interface` `ICPPASTCatchHandler` Catch handler used for try block statements or for functions with try block.
`interface` `ICPPASTClassVirtSpecifier` A class-virt-specifier after a class name.
`interface` `ICPPASTCompositeTypeSpecifier`
`static interface` `ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier` Base specifiers are where a class expresses from whom it inherits.
`interface` `ICPPASTCompoundStatement` Represents a block of statements in C++.
`interface` `ICPPASTConstructorChainInitializer` Represents a member initializer: class X { int a; X(); }; X::X : a(0) {} // a(0) is a member initializer.
`interface` `ICPPASTConstructorInitializer` Represents a potentially empty list of initializers in parenthesis: ( initializer-list?
`interface` `ICPPASTConversionName` This interface represents a C++ conversion member function.
`interface` `ICPPASTDeclarator` Declarator for c++.
`interface` `ICPPASTDeclSpecifier` C++ adds additional modifiers and types for decl specifier sequence.
`interface` `ICPPASTDecltypeSpecifier` C++ AST node for decltype-specifiers.
`interface` `ICPPASTDeleteExpression` This interface represents a delete expression. delete [] operand;
`interface` `ICPPASTDesignatedInitializer` This interface represents a designated initializer, e.g. in struct A y = { .z = 4, .t[1] = 3 };
`interface` `ICPPASTDesignator` Base interface for all C-style designators.
`interface` `ICPPASTElaboratedTypeSpecifier` Elaborated types specifier in C++ [dcl.type.elab].
`interface` `ICPPASTEnumerationSpecifier` `enum struct : unsigned int {...}`
`interface` `ICPPASTExplicitTemplateInstantiation` This interface represents an explicit template instantiation.
`interface` `ICPPASTExpression` Interface for C++ expressions.
`interface` `ICPPASTExpressionList`
`interface` `ICPPASTFieldDeclarator` Field declarator for c++.
`interface` `ICPPASTFieldDesignator` Specific designator that represents a field reference.
`interface` `ICPPASTFieldReference` Certain field references in C++ require the use the keyword template to specify the parse.
`interface` `ICPPASTForStatement` The C++ 'for' statement.
`interface` `ICPPASTFunctionCallExpression`
`interface` `ICPPASTFunctionDeclarator` C++ adds a few things to function declarators.
`interface` `ICPPASTFunctionDefinition` In c++ the a function definition for a constructor may contain member initializers.
`interface` `ICPPASTFunctionTryBlockDeclarator` Deprecated.
`interface` `ICPPASTFunctionWithTryBlock` Models a function defined with a try block, which is a function definition: void func() try { } catch (...) { }
`interface` `ICPPASTIfStatement` The 'if' statement including the optional else clause.
`interface` `ICPPASTInitCapture` Init capture for a lambda expression, introduced in C++14.
`interface` `ICPPASTInitializerClause` C++ specific initializer clause.
`interface` `ICPPASTInitializerList` Braced initializer list.
`interface` `ICPPASTLambdaExpression` Lambda expression, introduced in C++11.
`interface` `ICPPASTLinkageSpecification` This interface represents a linkage specification. e.g. extern "C" { ... }
`interface` `ICPPASTLiteralExpression` C++ adds additional literal types to primary expression.
`interface` `ICPPASTName` AST node for names in C++ translation units.
`interface` `ICPPASTNamedTypeSpecifier` C++ adds the capability of qualifying a named type specifier w/the keyword typename.
`interface` `ICPPASTNamespaceAlias` This interface represents a namespace alias in C++, e.g. namespace ABC { int* x; } namespace DEF = ABC;
`interface` `ICPPASTNamespaceDefinition` This interface represents a namespace definition in C++.
`interface` `ICPPASTNameSpecifier` AST node for elements of the qualifier in a qualified name.
`interface` `ICPPASTNaryTypeIdExpression` A type-id expression with any number of arguments.
`interface` `ICPPASTNewExpression` This interface represents a new expression.
`interface` `ICPPASTOperatorName` This interface represents a C++ overloaded operator member function name.
`interface` `ICPPASTPackExpansionExpression` Pack expansion as it can occur as an element in an expression-lists or as a non-type template argument.
`interface` `ICPPASTParameterDeclaration`
`interface` `ICPPASTPointerToMember` This is a pointer to member pointer operator for declarators.
`interface` `ICPPASTQualifiedName` This interface is a qualified name in C++.
`interface` `ICPPASTRangeBasedForStatement` Represents a range-based 'for' loop.
`interface` `ICPPASTReferenceOperator` This is C++'s reference operator, i.e. &, used in a declarator.
`interface` `ICPPASTSimpleDeclSpecifier` This interface represents a built-in type in C++.
`interface` `ICPPASTSimpleTypeConstructorExpression` Functional cast expressions: simple-type-specifier (expression-list?)
`interface` `ICPPASTSimpleTypeTemplateParameter` This interface represents a simple type template parameter.
`interface` `ICPPASTStaticAssertDeclaration` Models static assertions: `static_assert(false, "message");`
`interface` `ICPPASTSwitchStatement`
`interface` `ICPPASTTemplateDeclaration` Template declaration.
`interface` `ICPPASTTemplatedTypeTemplateParameter` This is a template template parameter as `V` in `template<template<typename T> class V> class CT;`
`interface` `ICPPASTTemplateId`
`interface` `ICPPASTTemplateParameter` Base interface for all template parameters.
`interface` `ICPPASTTemplateSpecialization` This interface represents a template specialization.
`interface` `ICPPASTTranslationUnit`
`interface` `ICPPASTTryBlockStatement` This interface represents the try block statement. try { //body } catch (Exc e) { // handler } catch ( ... ) { }
`interface` `ICPPASTTypeId` Type ids in C++.
`interface` `ICPPASTTypeIdExpression`
`interface` `ICPPASTTypenameExpression` Deprecated. Unified with `ICPPASTSimpleTypeConstructorExpression`.
`interface` `ICPPASTTypeTransformationSpecifier` A decl-specifier that represents the application of an intrinsic type transformation operator like __underlying_type(T).
`interface` `ICPPASTUnaryExpression`
`interface` `ICPPASTUsingDeclaration` This interface represents a using declaration.
`interface` `ICPPASTUsingDirective` This interface represents a C++ using directive.
`interface` `ICPPASTVirtSpecifier` A virt-specifier at the end of a function declaration.
`interface` `ICPPASTVisibilityLabel` C++ allows for visibility labels to be mixed with declarations in class specifiers.
`interface` `ICPPASTWhileStatement` This interface accommodates C++ allows for broader while loop syntax.

Fields in org.eclipse.cdt.core.dom.ast.cpp declared as IASTNode
`static IASTNode[]` ICPPASTTemplateId.`EMPTY_ARG_ARRAY` Deprecated. Use IASTNode.EMPTY_NODE_ARRAY instead.

Methods in org.eclipse.cdt.core.dom.ast.cpp that return IASTNode
`IASTNode[]` ICPPASTTemplateId.`getTemplateArguments()` Returns all template arguments as nodes.

Methods in org.eclipse.cdt.core.dom.ast.cpp with parameters of type IASTNode
`ICPPMethod[]` ICPPClassSpecialization.`getAllDeclaredMethods(IASTNode point)` Deprecated. Use `ICPPClassType.getAllDeclaredMethods()` instead.
`ICPPBase[]` ICPPClassSpecialization.`getBases(IASTNode point)` Deprecated. Use `ICPPClassType.getBases()` instead.
`org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPExecution` ICPPConstructor.`getConstructorChainExecution(IASTNode point)` Deprecated. use `ICPPConstructor.getConstructorChainExecution()` instead.
`ICPPConstructor[]` ICPPClassSpecialization.`getConstructors(IASTNode point)` Deprecated. Use `ICPPClassType.getConstructors()` instead.
`ICPPField[]` ICPPClassSpecialization.`getDeclaredFields(IASTNode point)` Deprecated. Use `ICPPClassType.getDeclaredFields()` instead.
`ICPPMethod[]` ICPPClassSpecialization.`getDeclaredMethods(IASTNode point)` Deprecated. Use `ICPPClassType.getDeclaredMethods()` instead.
`IType[]` ICPPMethodSpecialization.`getExceptionSpecification(IASTNode point)` Deprecated. Use `ICPPFunction.getExceptionSpecification()` instead.
`IField[]` ICPPClassSpecialization.`getFields(IASTNode point)` Deprecated. Use `ICPPClassType.getFields()` instead.
`IBinding[]` ICPPClassSpecialization.`getFriends(IASTNode point)` Deprecated. Use `ICPPClassType.getFriends()` instead.
`ICPPMethod[]` ICPPClassSpecialization.`getMethods(IASTNode point)` Deprecated. Use `ICPPClassType.getMethods()` instead.
`ICPPClassType[]` ICPPClassSpecialization.`getNestedClasses(IASTNode point)` Deprecated. Use `ICPPClassType.getNestedClasses()` instead.
`static ICPPMethod[]` SemanticQueries.`getPureVirtualMethods(ICPPClassType classType, IASTNode point)` Deprecated. Use `SemanticQueries` `SemanticQueries.getPureVirtualMethods(ICPPClassType)` instead.
`ICPPUsingDeclaration[]` ICPPClassSpecialization.`getUsingDeclarations(IASTNode point)` Deprecated. Use `ICPPClassType.getUsingDeclarations()` instead.
`static boolean` SemanticQueries.`isUnknownBuiltin(IProblemBinding binding, IASTNode node)` Returns whether a problem binding represents a name resolution error due to an unknown built-in.
`IBinding` ICPPClassSpecialization.`specializeMember(IBinding binding, IASTNode point)` Deprecated. Use `ICPPClassSpecialization.specializeMember(IBinding)` instead.

### Uses of IASTNode in org.eclipse.cdt.core.dom.ast.gnu

Subinterfaces of IASTNode in org.eclipse.cdt.core.dom.ast.gnu
`interface` `IGCCASTAttributeList` Represents a GCC attribute specifier, introduced by __attribute__.
`interface` `IGCCASTAttributeSpecifier` Deprecated. Use IGCCASTAttributeList instead.
`interface` `IGNUASTCompoundStatementExpression` There are GNU language extensions that apply to both GCC and G++.
`interface` `IGNUASTGotoStatement` Represents a GNU goto expression.
`interface` `IGNUASTTypeIdExpression` Deprecated. Use `IASTTypeIdExpression`, instead.
`interface` `IGNUASTUnaryExpression` Deprecated. Replaced by `IASTUnaryExpression`.

### Uses of IASTNode in org.eclipse.cdt.core.dom.ast.gnu.c

Subinterfaces of IASTNode in org.eclipse.cdt.core.dom.ast.gnu.c
`interface` `ICASTKnRFunctionDeclarator` This is the declarator for a K&R C Function.
`interface` `IGCCASTArrayRangeDesignator` GCC-specific designator that allows for shorthand array range to be specified in a designated initializer.
`interface` `IGCCASTSimpleDeclSpecifier` Deprecated. Everything can be expressed as `ICASTSimpleDeclSpecifier`.

### Uses of IASTNode in org.eclipse.cdt.core.dom.ast.gnu.cpp

Subinterfaces of IASTNode in org.eclipse.cdt.core.dom.ast.gnu.cpp
`interface` `IGPPASTArrayRangeDesignator` GCC-specific designator that allows for shorthand array range to be specified in a designated initializer, e.g. in int a[6] = { [2 ... 4] = 29 }; or struct ABC { int def[10]; } abc = { .def[4 ... 6] = 3 };
`interface` `IGPPASTBinaryExpression` G++ introduces additional operators.
`interface` `IGPPASTDeclSpecifier` Deprecated. Replaced by `IASTDeclSpecifier`.
`interface` `IGPPASTExplicitTemplateInstantiation` Deprecated. Replaced by `ICPPASTExplicitTemplateInstantiation`
`interface` `IGPPASTPointer` Deprecated. Use `IASTPointer`, instead.
`interface` `IGPPASTPointerToMember` Deprecated. Use `ICPPASTPointerToMember`, instead.
`interface` `IGPPASTSimpleDeclSpecifier` Deprecated. Replaced by `ICPPASTSimpleDeclSpecifier`.

### Uses of IASTNode in org.eclipse.cdt.core.dom.parser.cpp

Subinterfaces of IASTNode in org.eclipse.cdt.core.dom.parser.cpp with annotations of type with type parameters of type that implement declared as with annotations of type with type parameters of type with annotations of type with annotations of type with type parameters of type that return that return types with arguments of type with parameters of type with type arguments of type that throw with annotations of type with annotations of type with parameters of type with type arguments of type that throw
`interface` `org.eclipse.cdt.core.dom.parser.cpp.ICPPASTAttributeSpecifier` Represents a C++11 (ISO/IEC 14882:2011 7.6.1 [dcl.attr.grammar]) attribute specifier.