# Package org.eclipse.cdt.core.dom.ast

Interface Summary
IArrayType
IASTAlignmentSpecifier: Represents an alignment specifier.
IASTArrayDeclarator: This is the declarator for an array.
IASTArrayModifier: This is the portion of the node that represents the portions when someone declares a variable/type which is an array.
IASTArraySubscriptExpression: This interface represents a postfix array subscript expression. x[10] y.z()[t * t]
IASTASMDeclaration: ASM Statement as a Declaration.
IASTAttribute: Represents a C++11 (ISO/IEC 14882:2011 7.6) or a GCC attribute (http://gcc.gnu.org/onlinedocs/gcc/Attribute-Syntax.html).
IASTAttributeList: An attribute-specifier of the form [[ attribute-list ]] or __attribute__(( attribute-list )).
IASTAttributeOwner: An AST node that may have attributes.
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).
IASTBinaryExpression: This interface represents a binary expression.
IASTBinaryTypeIdExpression
IASTBreakStatement: This is the break clause in a loop.
IASTCaseStatement: This is a case in a switch statement.
IASTCastExpression: This interface represents a cast expression of the form (TypeId)operand.
IASTComment: This class represents a comment.
IASTCompletionContext: Interface for a code completion's context.
IASTCompletionNode: This represents the node that would occur at the point of a context completion.
IASTCompositeTypeSpecifier: A composite type specifier represents a composite structure (contains declarations).
IASTCompoundStatement: This represents a block of statements.
IASTConditionalExpression: Conditional Expression of the format X ?
IASTContinueStatement: This is the continue clause in a loop.
IASTCopyLocation
IASTDeclaration: This is the root class of all declarations.
IASTDeclarationListOwner: Common interface for parents of declaration lists.
IASTDeclarationStatement: A declaration statement that introduces a declaration.
IASTDeclarator: Base interface for a declarator.
IASTDeclSpecifier: This is the base interface that represents a declaration specifier sequence.
IASTDefaultStatement: This is the default clause in the switch statement.
IASTDoStatement: Ye ol' do statement.
IASTElaboratedTypeSpecifier: This represents an elaborated type specifier in the C & C++ language grammar.
IASTEnumerationSpecifier: This interface represents enumerations in C and C++.
IASTEnumerationSpecifier.IASTEnumerator: This interface represents an enumerator member of an enum specifier.
IASTEqualsInitializer: Initializer with equals sign (copy initialization) as in `int x= 0;`.
IASTExpression: This is the root class of expressions.
IASTExpressionList: Expression list (comma separated list of expressions).
IASTExpressionStatement: Expression statement.
IASTFieldDeclarator: This represents a field in a struct.
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.
IASTFileLocation: Represents a node location that is directly in the source file.
IASTForStatement: The 'for' statement.
IASTFunctionCallExpression: Represents a function call expression, f(x), where f is the function name expression and x is the parameter expression.
IASTFunctionDeclarator: This is a declarator for a function.
IASTFunctionDefinition: This is a function definition, i.e. it has a body.
IASTFunctionStyleMacroParameter: This interface represents the name of a function style macro parameter.
IASTGotoStatement: Represents a goto statement.
IASTIdExpression: This is a name used in an expression.
IASTIfStatement: The 'if' statement including the optional else clause.
IASTImageLocation: An image location explains how a name made it into the translation unit.
IASTImplicitDestructorName: An implicit name corresponding to a destructor call for a temporary or a variable going out of scope.
IASTImplicitDestructorNameOwner: An AST node that may have implicit destructor names.
IASTImplicitName: An implicit name is used to resolve uses of implicit bindings, such as overloaded operators.
IASTImplicitNameOwner: An AST node that may have implicit names.
IASTInitializer: This represents an initializer for a declarator.
IASTInitializerClause: Interface for AST nodes that can nest in initializer lists.
IASTInitializerExpression: Deprecated Replaced by `IASTEqualsInitializer`.
IASTInitializerList: Braced initializer list, for example as in: int a[]= {1,2,3};
IASTLabelStatement: Represents a label statement.
IASTLiteralExpression: This expression represents a literal in the program.
IASTMacroExpansion: Deprecated
IASTMacroExpansionLocation: Node location inside of a macro expansion.
IASTName: This class represents a name in the program that represents a semantic object in the program.
IASTNamedTypeSpecifier: Represents the use of a typedef name in an decl specifier in C.
IASTNameOwner: This interface represents a mechanism for a name to discover more information about it's parent.
IASTNode: This is the root node in the physical AST.
IASTNodeLocation: A NodeLocation represents the source location of a given node.
IASTNodeSelector: Interface for searching nodes in a translation unit.
IASTNullStatement: This node represents a null statement, ';'
IASTParameterDeclaration: This class represents a parameter declaration
IASTPointer: This represents the good ol' * pointer operator.
IASTPointerOperator
IASTPreprocessorElifStatement: Represents a #elif preprocessor statement.
IASTPreprocessorElseStatement: This interface represent a preprocessor #else statement.
IASTPreprocessorEndifStatement: This interface represent a preprocessor #endif statement.
IASTPreprocessorErrorStatement: This interface represent a preprocessor #error statement.
IASTPreprocessorFunctionStyleMacroDefinition: This interface represent a preprocessor function-style macro definition. e.g.
IASTPreprocessorIfdefStatement: This interface represent a preprocessor #ifdef statement.
IASTPreprocessorIfndefStatement: This interface represent a preprocessor #ifndef statement.
IASTPreprocessorIfStatement: This interface represent a preprocessor #if statement.
IASTPreprocessorIncludeStatement: This interface represents a preprocessor #include statement.
IASTPreprocessorMacroDefinition: This represents the definition of a macro.
IASTPreprocessorMacroExpansion: Models macro expansion found in the source code that is not nested inside another expansion.
IASTPreprocessorObjectStyleMacroDefinition: This interface represents an object-style macro definition. e.g.
IASTPreprocessorPragmaStatement: Represents a #pragma directive or a pragma operator.
IASTPreprocessorStatement: This is the base interface for all preprocessor directives.
IASTPreprocessorUndefStatement: This interface represents a preprocessor #undef statement.
IASTProblem: Interface for problems in the AST tree.
IASTProblemDeclaration: This interface represents a parse problem where we tried to match against a declaration.
IASTProblemExpression: This interface represents a parse problem where we tried to match against an expression.
IASTProblemHolder: This interface represents a base interface to represent a problem owner or holder.
IASTProblemStatement: This interface represents a parse problem where we tried to match against a statement.
IASTProblemTypeId: This interface represents a parse problem where we tried to match against a type-id.
IASTReturnStatement
IASTSimpleDeclaration: This is a simple declaration which contains a sequence of declSpecifiers followed by a list of declarators.
IASTSimpleDeclSpecifier: This represents a declaration specifier for a built-in type.
IASTStandardFunctionDeclarator: This is a declarator for a non K&R C function.
IASTStatement: This is the root interface for statements.
IASTSwitchStatement: The switch statement.
IASTToken: Represents an arbitrary code token.
IASTTokenList: Represents a sequence of code tokens.
IASTTranslationUnit: The translation unit represents a compilable unit of source.
IASTTranslationUnit.IDependencyTree
IASTTranslationUnit.IDependencyTree.IASTInclusionNode
IASTTypeId
IASTTypeIdExpression
IASTTypeIdInitializerExpression: Compound literal: type-id { initializer }
IASTUnaryExpression: This interface is used to represent a unary expression in the AST.
IASTWhileStatement: Ye ol' while statement.
IBasicType: Interface for basic types.
IBinding: Represents the semantics of a name found in the AST or the index.
ICompositeType: Interface for all composite types: classes, structs and unions.
ICPPASTCompletionContext: Interface for a code completion's context.
IEnumeration
IEnumerator: Interface for enumerators.
IField
IFileNomination: Interface for constructs that nominate a file for an AST: `IASTTranslationUnit`, `IASTPreprocessorIncludeStatement`, `IIndexFile`.
IFunction: This represents a function in the program.
IFunctionType
ILabel: Represents the mapping between goto statements and the label statements the go to.
IMacroBinding: Models bindings for macro names.
INodeFactory: Factory for creating AST nodes.
IParameter: Represents a parameter to a function.
IPointerType
IProblemBinding: Interface for problem bindings.
IProblemType: Represents an type that cannot be determined or is illegal.
IQualifierType: Interface used to qualify types.
IScope: Scopes can be used to look-up names.
ISemanticProblem: Base interface for all semantic problems: `IProblemBinding`, `IProblemType`
IType: Interface for all c- and c++ types.
ITypedef
IValue: Models a value of a variable, enumerator or expression.
IVariable: Interface for all sorts of variables: local, parameter, global, field.

Class Summary
ASTCompletionNode
ASTGenericVisitor: Generic visitor for AST nodes.
ASTNameCollector: A convenience visitor that collects names.
ASTNodeFactoryFactory: Provides access to the node factories.
ASTNodeProperty: This interface represents a structural property in an IASTNode.
ASTSignatureUtil: Deprecated The class is provided for testing purposes, only.
ASTTypeMatcher
ASTTypeUtil: Collection of static methods for converting AST elements to `String`s corresponding to the AST element's type.
ASTVisitor: Abstract base class for all visitors to traverse AST nodes.
IASTCompletionNode.CompletionNameEntry: Represents a name that fits in this context, and its parent.
IScope.ScopeLookupData

Enum Summary
EScopeKind: Enumerates various kinds of scopes
IASTBinaryTypeIdExpression.Operator: Built-in type traits of g++.
IASTExpression.ValueCategory
IASTNode.CopyStyle
IBasicType.Kind

Exception Summary
DOMException: This is the general purpose exception that is thrown for resolving semantic aspects of an illegal binding.
ExpansionOverlapsBoundaryException: See `IASTNode.getTrailingSyntax()` and `IASTNode.getLeadingSyntax()`.