org.eclipse.cdt.core.dom.ast.cpp

## Interface ICPPNodeFactory

All Superinterfaces:
  INodeFactory

    public interface ICPPNodeFactory
    extends INodeFactory

Factory for AST nodes for the C++ programming language.

Since:
  5.1

### Method Summary

All Methods Instance Methods Abstract Methods Deprecated Methods
`ICPPASTAliasDeclaration` `newAliasDeclaration(IASTName aliasName, ICPPASTTypeId aliasedType)`
`ICPPASTArrayDeclarator` `newArrayDeclarator(IASTName name)`
`ICPPASTArrayDesignator` `newArrayDesignator(ICPPASTExpression exp)`
`IGPPASTArrayRangeDesignator` `newArrayRangeDesignatorGPP(ICPPASTExpression floor, ICPPASTExpression ceiling)`
`ICPPASTArraySubscriptExpression` `newArraySubscriptExpression(IASTExpression arrayExpr, IASTExpression subscript)`
`ICPPASTArraySubscriptExpression` `newArraySubscriptExpression(IASTExpression arrayExpr, IASTInitializerClause subscript)`
`ICPPASTAttribute` `newAttribute(char[] name, char[] scope, IASTToken argumentClause, boolean packExpansion)`
`ICPPASTAttributeList` `newAttributeList()`
`org.eclipse.cdt.core.dom.parser.cpp.ICPPASTAttributeSpecifier` `newAttributeSpecifier()` Deprecated. Use newAttributeList() instead.
`ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier` `newBaseSpecifier(IASTName name, int visibility, boolean isVirtual)` Deprecated. Replaced by `newBaseSpecifier(ICPPASTNameSpecifier, int, boolean)`
`ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier` `newBaseSpecifier(ICPPASTNameSpecifier nameSpecifier, int visibility, boolean isVirtual)`
`ICPPASTBinaryExpression` `newBinaryExpression(int op, IASTExpression expr1, IASTExpression expr2)`
`ICPPASTBinaryExpression` `newBinaryExpression(int op, IASTExpression expr1, IASTInitializerClause expr2)`
`IASTExpression` `newBinaryTypeIdExpression(IASTBinaryTypeIdExpression.Operator op, IASTTypeId type1, IASTTypeId type2)`
`ICPPASTCapture` `newCapture()`
`ICPPASTCastExpression` `newCastExpression(int operator, IASTTypeId typeId, IASTExpression operand)`
`ICPPASTCatchHandler` `newCatchHandler(IASTDeclaration decl, IASTStatement body)`
`ICPPASTClassVirtSpecifier` `newClassVirtSpecifier(ICPPASTClassVirtSpecifier.SpecifierKind kind)`
`ICPPASTCompositeTypeSpecifier` `newCompositeTypeSpecifier(int key, IASTName name)`
`ICPPASTConstructorChainInitializer` `newConstructorChainInitializer(IASTName memberInitializerId, IASTExpression initializerValue)` Deprecated. Replaced by `newConstructorChainInitializer(IASTName, IASTInitializer)`
`ICPPASTConstructorChainInitializer` `newConstructorChainInitializer(IASTName id, IASTInitializer initializer)`
`ICPPASTConstructorInitializer` `newConstructorInitializer(IASTExpression exp)` Deprecated. Replaced by `newConstructorInitializer(IASTInitializerClause[])`.
`ICPPASTConstructorInitializer` `newConstructorInitializer(IASTInitializerClause[] args)`
`ICPPASTConversionName` `newConversionName(IASTTypeId typeId)`
`ICPPASTDeclarator` `newDeclarator(IASTName name)`
`ICPPASTDecltypeSpecifier` `newDecltypeSpecifier(ICPPASTExpression decltypeExpression)`
`ICPPASTDeleteExpression` `newDeleteExpression(IASTExpression operand)`
`ICPPASTDesignatedInitializer` `newDesignatedInitializer(ICPPASTInitializerClause initializer)`
`ICPPASTElaboratedTypeSpecifier` `newElaboratedTypeSpecifier(int kind, IASTName name)`
`ICPPASTEnumerationSpecifier` `newEnumerationSpecifier(boolean isScoped, IASTName name, ICPPASTDeclSpecifier baseType)`
`ICPPASTExplicitTemplateInstantiation` `newExplicitTemplateInstantiation(IASTDeclaration declaration)`
`ICPPASTExpressionList` `newExpressionList()`
`ICPPASTFieldDeclarator` `newFieldDeclarator(IASTName name, IASTExpression bitFieldSize)`
`ICPPASTFieldDesignator` `newFieldDesignator(IASTName name)`
`ICPPASTFieldReference` `newFieldReference(IASTName name, IASTExpression owner)`
`ICPPASTForStatement` `newForStatement()`
`ICPPASTForStatement` `newForStatement(IASTStatement init, IASTDeclaration condition, IASTExpression iterationExpression, IASTStatement body)`
`ICPPASTForStatement` `newForStatement(IASTStatement init, IASTExpression condition, IASTExpression iterationExpression, IASTStatement body)`
`ICPPASTFunctionCallExpression` `newFunctionCallExpression(IASTExpression idExpr, IASTExpression argList)` Deprecated. Replaced by `newFunctionCallExpression(IASTExpression, IASTInitializerClause[])`.
`ICPPASTFunctionCallExpression` `newFunctionCallExpression(IASTExpression idExpr, IASTInitializerClause[] arguments)`
`ICPPASTFunctionDeclarator` `newFunctionDeclarator(IASTName name)`
`ICPPASTFunctionDefinition` `newFunctionDefinition(IASTDeclSpecifier declSpecifier, IASTFunctionDeclarator declarator, IASTStatement bodyStatement)`
`ICPPASTFunctionWithTryBlock` `newFunctionTryBlock(IASTDeclSpecifier declSpecifier, IASTFunctionDeclarator declarator, IASTStatement bodyStatement)`
`ICPPASTIfStatement` `newIfStatement()`
`ICPPASTIfStatement` `newIfStatement(IASTDeclaration condition, IASTStatement then, IASTStatement elseClause)`
`ICPPASTIfStatement` `newIfStatement(IASTExpression condition, IASTStatement then, IASTStatement elseClause)`
`ICPPASTInitializerList` `newInitializerList()`
`ICPPASTLambdaExpression` `newLambdaExpression()`
`ICPPASTLinkageSpecification` `newLinkageSpecification(String literal)`
`ICPPASTLiteralExpression` `newLiteralExpression(int kind, String rep)`
`ICPPASTName` `newName()` Creates a "dummy" name using an empty char array.
`ICPPASTName` `newName(char[] name)`
`ICPPASTName` `newName(String name)`
`ICPPASTNamedTypeSpecifier` `newNamedTypeSpecifier(IASTName name)`
`ICPPASTNamespaceAlias` `newNamespaceAlias(IASTName alias, IASTName qualifiedName)`
`ICPPASTNamespaceDefinition` `newNamespaceDefinition(IASTName name)`
`ICPPASTNaryTypeIdExpression` `newNaryTypeIdExpression(ICPPASTNaryTypeIdExpression.Operator operator, ICPPASTTypeId[] operands)`
`ICPPASTNewExpression` `newNewExpression(IASTExpression placement, IASTExpression initializer, IASTTypeId typeId)` Deprecated. Replaced by `newNewExpression(IASTInitializerClause[], IASTInitializer, IASTTypeId)`
`ICPPASTNewExpression` `newNewExpression(IASTInitializerClause[] placement, IASTInitializer initializer, IASTTypeId typeId)`
`ICPPASTOperatorName` `newOperatorName(char[] name)`
`ICPPASTPackExpansionExpression` `newPackExpansionExpression(IASTExpression pattern)` Creates a new pack expansion expression for the given pattern.
`ICPPASTParameterDeclaration` `newParameterDeclaration(IASTDeclSpecifier declSpec, IASTDeclarator declarator)`
`ICPPASTPointerToMember` `newPointerToMember(IASTName name)`
`IASTProblemTypeId` `newProblemTypeId(IASTProblem problem)`
`ICPPASTQualifiedName` `newQualifiedName()` Deprecated. Replaced by `newQualifiedName(ICPPASTName)`.
`ICPPASTQualifiedName` `newQualifiedName(ICPPASTName name)` Creates a `ICPPASTQualifiedName`.
`ICPPASTQualifiedName` `newQualifiedName(String[] nameQualifiers, String name)` Creates an `ICPPASTQualifiedName` and adds name qualifiers for the elements of `nameQualifiers`.
`ICPPASTRangeBasedForStatement` `newRangeBasedForStatement()` Creates a range based for statement.
`ICPPASTReferenceOperator` `newReferenceOperator()` Deprecated. Replaced by `newReferenceOperator(boolean)`.
`ICPPASTReferenceOperator` `newReferenceOperator(boolean isRValueReference)` Creates an lvalue or rvalue reference operator.
`IASTReturnStatement` `newReturnStatement(IASTInitializerClause retValue)`
`ICPPASTSimpleDeclSpecifier` `newSimpleDeclSpecifier()`
`ICPPASTSimpleTypeConstructorExpression` `newSimpleTypeConstructorExpression(ICPPASTDeclSpecifier declSpec, IASTInitializer initializer)`
`ICPPASTSimpleTypeTemplateParameter` `newSimpleTypeTemplateParameter(int type, IASTName name, IASTTypeId typeId)`
`ICPPASTStaticAssertDeclaration` `newStaticAssertion(IASTExpression condition, ICPPASTLiteralExpression message)` Creates a new static assertion declaration with the given condition and message.
`ICPPASTSwitchStatement` `newSwitchStatement()`
`ICPPASTSwitchStatement` `newSwitchStatement(IASTDeclaration controller, IASTStatement body)`
`ICPPASTSwitchStatement` `newSwitchStatement(IASTExpression controlloer, IASTStatement body)`
`ICPPASTTemplateDeclaration` `newTemplateDeclaration(IASTDeclaration declaration)`
`ICPPASTTemplatedTypeTemplateParameter` `newTemplatedTypeTemplateParameter(IASTName name, IASTExpression defaultValue)`
`ICPPASTTemplateId` `newTemplateId(IASTName templateName)`
`ICPPASTTemplateSpecialization` `newTemplateSpecialization(IASTDeclaration declaration)`
`ICPPASTTranslationUnit` `newTranslationUnit(org.eclipse.cdt.core.parser.IScanner scanner)` Creates a new translation unit that cooperates with the given scanner in order to track macro-expansions and location information.
`ICPPASTTryBlockStatement` `newTryBlockStatement(IASTStatement body)`
`ICPPASTNamedTypeSpecifier` `newTypedefNameSpecifier(IASTName name)`
`ICPPASTTypeId` `newTypeId(IASTDeclSpecifier declSpecifier, IASTDeclarator declarator)`
`ICPPASTTypeIdExpression` `newTypeIdExpression(int operator, IASTTypeId typeId)`
`ICPPASTTypenameExpression` `newTypenameExpression(IASTName qualifiedName, IASTExpression expr, boolean isTemplate)` Deprecated. Replaced by `newSimpleTypeConstructorExpression(ICPPASTDeclSpecifier, IASTInitializer)`
`ICPPASTTypeTransformationSpecifier` `newTypeTransformationSpecifier(ICPPUnaryTypeTransformation.Operator kind, ICPPASTTypeId typeId)`
`ICPPASTUnaryExpression` `newUnaryExpression(int operator, IASTExpression operand)`
`ICPPASTUsingDeclaration` `newUsingDeclaration(IASTName name)`
`ICPPASTUsingDirective` `newUsingDirective(IASTName name)`
`ICPPASTVirtSpecifier` `newVirtSpecifier(ICPPASTVirtSpecifier.SpecifierKind kind)`
`ICPPASTVisibilityLabel` `newVisibilityLabel(int visibility)`
`ICPPASTWhileStatement` `newWhileStatement()`
`ICPPASTWhileStatement` `newWhileStatement(IASTDeclaration condition, IASTStatement body)`
`ICPPASTWhileStatement` `newWhileStatement(IASTExpression condition, IASTStatement body)`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.INodeFactory

`newAlignmentSpecifier, newAlignmentSpecifier, newArrayModifier, newASMDeclaration, newAttribute, newBreakStatement, newCaseStatement, newCompoundStatement, newConditionalExpession, newContinueStatement, newDeclarationStatement, newDefaultStatement, newDoStatement, newEnumerationSpecifier, newEnumerator, newEqualsInitializer, newExpressionStatement, newGCCAttributeList, newGCCAttributeSpecifier, newGNUCompoundStatementExpression, newGotoStatement, newGotoStatement, newIdExpression, newInactiveCompletionName, newInitializerExpression, newLabelStatement, newNullStatement, newPointer, newProblem, newProblemDeclaration, newProblemExpression, newProblemStatement, newReturnStatement, newSimpleDeclaration, newToken, newTokenList, newTypeIdInitializerExpression, setEndOffset, setEndOffset, setOffsets`

### Method Detail

#### newAliasDeclaration

    ICPPASTAliasDeclaration newAliasDeclaration(IASTName aliasName,
                                                ICPPASTTypeId aliasedType)

Since:
  5.5

#### newArrayDeclarator

    ICPPASTArrayDeclarator newArrayDeclarator(IASTName name)

Specified by:
  `newArrayDeclarator` in interface `INodeFactory`
Since:
  5.2

#### newArrayDesignator

    ICPPASTArrayDesignator newArrayDesignator(ICPPASTExpression exp)

Since:
  6.0

#### newArrayRangeDesignatorGPP

    IGPPASTArrayRangeDesignator newArrayRangeDesignatorGPP(ICPPASTExpression floor,
                                                           ICPPASTExpression ceiling)

Since:
  6.0

#### newArraySubscriptExpression

    ICPPASTArraySubscriptExpression newArraySubscriptExpression(IASTExpression arrayExpr,
                                                                IASTExpression subscript)

Specified by:
  `newArraySubscriptExpression` in interface `INodeFactory`

#### newArraySubscriptExpression

    ICPPASTArraySubscriptExpression newArraySubscriptExpression(IASTExpression arrayExpr,
                                                                IASTInitializerClause subscript)

Since:
  5.2

#### newAttribute

    ICPPASTAttribute newAttribute(char[] name,
                                  char[] scope,
                                  IASTToken argumentClause,
                                  boolean packExpansion)

Since:
  5.7

#### newAttributeList

    ICPPASTAttributeList newAttributeList()

Since:
  6.0

#### newBaseSpecifier

    ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier newBaseSpecifier(ICPPASTNameSpecifier nameSpecifier,
                                                                        int visibility,
                                                                        boolean isVirtual)

Since:
  5.8

#### newBinaryExpression

    ICPPASTBinaryExpression newBinaryExpression(int op,
                                                IASTExpression expr1,
                                                IASTExpression expr2)

Specified by:
  `newBinaryExpression` in interface `INodeFactory`

#### newBinaryExpression

    ICPPASTBinaryExpression newBinaryExpression(int op,
                                                IASTExpression expr1,
                                                IASTInitializerClause expr2)

Since:
  5.2

#### newBinaryTypeIdExpression

    IASTExpression newBinaryTypeIdExpression(IASTBinaryTypeIdExpression.Operator op,
                                             IASTTypeId type1,
                                             IASTTypeId type2)

Since:
  5.3

#### newCapture

    ICPPASTCapture newCapture()

Since:
  5.3

#### newCastExpression

    ICPPASTCastExpression newCastExpression(int operator,
                                            IASTTypeId typeId,
                                            IASTExpression operand)

Specified by:
  `newCastExpression` in interface `INodeFactory`

#### newCatchHandler

    ICPPASTCatchHandler newCatchHandler(IASTDeclaration decl,
                                        IASTStatement body)

#### newClassVirtSpecifier

    ICPPASTClassVirtSpecifier newClassVirtSpecifier(ICPPASTClassVirtSpecifier.SpecifierKind kind)

Since:
  5.7

#### newCompositeTypeSpecifier

    ICPPASTCompositeTypeSpecifier newCompositeTypeSpecifier(int key,
                                                            IASTName name)

Specified by:
  `newCompositeTypeSpecifier` in interface `INodeFactory`

#### newConstructorChainInitializer

    ICPPASTConstructorChainInitializer newConstructorChainInitializer(IASTName id,
                                                                      IASTInitializer initializer)

Since:
  5.2

#### newConstructorInitializer

    ICPPASTConstructorInitializer newConstructorInitializer(IASTInitializerClause[] args)

Since:
  5.2

#### newConversionName

    ICPPASTConversionName newConversionName(IASTTypeId typeId)

#### newDeclarator

    ICPPASTDeclarator newDeclarator(IASTName name)

Specified by:
  `newDeclarator` in interface `INodeFactory`
Since:
  5.2

#### newDecltypeSpecifier

    ICPPASTDecltypeSpecifier newDecltypeSpecifier(ICPPASTExpression decltypeExpression)

Since:
  5.6

#### newDeleteExpression

    ICPPASTDeleteExpression newDeleteExpression(IASTExpression operand)

#### newDesignatedInitializer

    ICPPASTDesignatedInitializer newDesignatedInitializer(ICPPASTInitializerClause initializer)

Since:
  6.0

#### newElaboratedTypeSpecifier

    ICPPASTElaboratedTypeSpecifier newElaboratedTypeSpecifier(int kind,
                                                              IASTName name)

Specified by:
  `newElaboratedTypeSpecifier` in interface `INodeFactory`

#### newEnumerationSpecifier

    ICPPASTEnumerationSpecifier newEnumerationSpecifier(boolean isScoped,
                                                        IASTName name,
                                                        ICPPASTDeclSpecifier baseType)

Since:
  5.2

#### newExplicitTemplateInstantiation

    ICPPASTExplicitTemplateInstantiation newExplicitTemplateInstantiation(IASTDeclaration declaration)

#### newExpressionList

    ICPPASTExpressionList newExpressionList()

Specified by:
  `newExpressionList` in interface `INodeFactory`

#### newFieldDeclarator

    ICPPASTFieldDeclarator newFieldDeclarator(IASTName name,
                                              IASTExpression bitFieldSize)

Specified by:
  `newFieldDeclarator` in interface `INodeFactory`
Since:
  5.2

#### newFieldDesignator

    ICPPASTFieldDesignator newFieldDesignator(IASTName name)

Since:
  6.0

#### newFieldReference

    ICPPASTFieldReference newFieldReference(IASTName name,
                                            IASTExpression owner)

Specified by:
  `newFieldReference` in interface `INodeFactory`

#### newForStatement

    ICPPASTForStatement newForStatement()

#### newForStatement

    ICPPASTForStatement newForStatement(IASTStatement init,
                                        IASTDeclaration condition,
                                        IASTExpression iterationExpression,
                                        IASTStatement body)

#### newForStatement

    ICPPASTForStatement newForStatement(IASTStatement init,
                                        IASTExpression condition,
                                        IASTExpression iterationExpression,
                                        IASTStatement body)

Specified by:
  `newForStatement` in interface `INodeFactory`

#### newFunctionCallExpression

    ICPPASTFunctionCallExpression newFunctionCallExpression(IASTExpression idExpr,
                                                            IASTInitializerClause[] arguments)

Specified by:
  `newFunctionCallExpression` in interface `INodeFactory`
Since:
  5.2

#### newFunctionDeclarator

    ICPPASTFunctionDeclarator newFunctionDeclarator(IASTName name)

Specified by:
  `newFunctionDeclarator` in interface `INodeFactory`

#### newFunctionDefinition

    ICPPASTFunctionDefinition newFunctionDefinition(IASTDeclSpecifier declSpecifier,
                                                    IASTFunctionDeclarator declarator,
                                                    IASTStatement bodyStatement)

Specified by:
  `newFunctionDefinition` in interface `INodeFactory`

#### newFunctionTryBlock

    ICPPASTFunctionWithTryBlock newFunctionTryBlock(IASTDeclSpecifier declSpecifier,
                                                    IASTFunctionDeclarator declarator,
                                                    IASTStatement bodyStatement)

#### newIfStatement

    ICPPASTIfStatement newIfStatement()

#### newIfStatement

    ICPPASTIfStatement newIfStatement(IASTDeclaration condition,
                                      IASTStatement then,
                                      IASTStatement elseClause)

#### newIfStatement

    ICPPASTIfStatement newIfStatement(IASTExpression condition,
                                      IASTStatement then,
                                      IASTStatement elseClause)

Specified by:
  `newIfStatement` in interface `INodeFactory`

#### newInitializerList

    ICPPASTInitializerList newInitializerList()

Specified by:
  `newInitializerList` in interface `INodeFactory`
Since:
  5.2

#### newLambdaExpression

    ICPPASTLambdaExpression newLambdaExpression()

Since:
  5.3

#### newLinkageSpecification

    ICPPASTLinkageSpecification newLinkageSpecification(String literal)

#### newLiteralExpression

    ICPPASTLiteralExpression newLiteralExpression(int kind,
                                                  String rep)

Specified by:
  `newLiteralExpression` in interface `INodeFactory`

#### newNamespaceAlias

    ICPPASTNamespaceAlias newNamespaceAlias(IASTName alias,
                                            IASTName qualifiedName)

#### newNamespaceDefinition

    ICPPASTNamespaceDefinition newNamespaceDefinition(IASTName name)

#### newNaryTypeIdExpression

    ICPPASTNaryTypeIdExpression newNaryTypeIdExpression(ICPPASTNaryTypeIdExpression.Operator operator,
                                                        ICPPASTTypeId[] operands)

Since:
  6.0

#### newNewExpression

    ICPPASTNewExpression newNewExpression(IASTInitializerClause[] placement,
                                          IASTInitializer initializer,
                                          IASTTypeId typeId)

Since:
  5.2

#### newOperatorName

    ICPPASTOperatorName newOperatorName(char[] name)

#### newPackExpansionExpression

    ICPPASTPackExpansionExpression newPackExpansionExpression(IASTExpression pattern)

Creates a new pack expansion expression for the given pattern.

Since:
  5.2

#### newParameterDeclaration

    ICPPASTParameterDeclaration newParameterDeclaration(IASTDeclSpecifier declSpec,
                                                        IASTDeclarator declarator)

Specified by:
  `newParameterDeclaration` in interface `INodeFactory`

#### newPointerToMember

    ICPPASTPointerToMember newPointerToMember(IASTName name)

#### newProblemTypeId

    IASTProblemTypeId newProblemTypeId(IASTProblem problem)

#### newQualifiedName

    ICPPASTQualifiedName newQualifiedName(ICPPASTName name)

Creates a `ICPPASTQualifiedName`.

Since:
  5.7

#### newQualifiedName

    ICPPASTQualifiedName newQualifiedName(String[] nameQualifiers,
                                          String name)

Creates an `ICPPASTQualifiedName` and adds name qualifiers for the elements of `nameQualifiers`. `nameQualifiers` cannot contain decltype specifiers for creation of `ICPPASTDecltypeSpecifier`.

Since:
  5.11

#### newName

    ICPPASTName newName()

Description copied from interface: `INodeFactory`
Creates a "dummy" name using an empty char array.

Specified by:
  `newName` in interface `INodeFactory`
Since:
  5.9

#### newName

    ICPPASTName newName(char[] name)

Specified by:
  `newName` in interface `INodeFactory`
Since:
  5.9

#### newName

    ICPPASTName newName(String name)

Specified by:
  `newName` in interface `INodeFactory`
Since:
  6.1

#### newNamedTypeSpecifier

    ICPPASTNamedTypeSpecifier newNamedTypeSpecifier(IASTName name)

Since:
  5.11

#### newRangeBasedForStatement

    ICPPASTRangeBasedForStatement newRangeBasedForStatement()

Creates a range based for statement.

Since:
  5.3

#### newReferenceOperator

    ICPPASTReferenceOperator newReferenceOperator(boolean isRValueReference)

Creates an lvalue or rvalue reference operator.

Since:
  5.2

#### newReturnStatement

    IASTReturnStatement newReturnStatement(IASTInitializerClause retValue)

Since:
  5.2

#### newSimpleDeclSpecifier

    ICPPASTSimpleDeclSpecifier newSimpleDeclSpecifier()

Specified by:
  `newSimpleDeclSpecifier` in interface `INodeFactory`

#### newSimpleTypeConstructorExpression

    ICPPASTSimpleTypeConstructorExpression newSimpleTypeConstructorExpression(ICPPASTDeclSpecifier declSpec,
                                                                              IASTInitializer initializer)

Since:
  5.2

#### newSimpleTypeTemplateParameter

    ICPPASTSimpleTypeTemplateParameter newSimpleTypeTemplateParameter(int type,
                                                                      IASTName name,
                                                                      IASTTypeId typeId)

#### newStaticAssertion

    ICPPASTStaticAssertDeclaration newStaticAssertion(IASTExpression condition,
                                                      ICPPASTLiteralExpression message)

Creates a new static assertion declaration with the given condition and message.

Since:
  5.2

#### newSwitchStatement

    ICPPASTSwitchStatement newSwitchStatement()

#### newSwitchStatement

    ICPPASTSwitchStatement newSwitchStatement(IASTDeclaration controller,
                                              IASTStatement body)

#### newSwitchStatement

    ICPPASTSwitchStatement newSwitchStatement(IASTExpression controlloer,
                                              IASTStatement body)

Specified by:
  `newSwitchStatement` in interface `INodeFactory`

#### newTemplateDeclaration

    ICPPASTTemplateDeclaration newTemplateDeclaration(IASTDeclaration declaration)

#### newTemplatedTypeTemplateParameter

    ICPPASTTemplatedTypeTemplateParameter newTemplatedTypeTemplateParameter(IASTName name,
                                                                            IASTExpression defaultValue)

#### newTemplateId

    ICPPASTTemplateId newTemplateId(IASTName templateName)

#### newTemplateSpecialization

    ICPPASTTemplateSpecialization newTemplateSpecialization(IASTDeclaration declaration)

#### newTranslationUnit

    ICPPASTTranslationUnit newTranslationUnit(org.eclipse.cdt.core.parser.IScanner scanner)

Creates a new translation unit that cooperates with the given scanner in order to track macro-expansions and location information.

Specified by:
  `newTranslationUnit` in interface `INodeFactory`
Parameters:
  `scanner` - the preprocessor the translation unit interacts with.
Since:
  5.2

#### newTryBlockStatement

    ICPPASTTryBlockStatement newTryBlockStatement(IASTStatement body)

#### newTypedefNameSpecifier

    ICPPASTNamedTypeSpecifier newTypedefNameSpecifier(IASTName name)

Specified by:
  `newTypedefNameSpecifier` in interface `INodeFactory`

#### newTypeId

    ICPPASTTypeId newTypeId(IASTDeclSpecifier declSpecifier,
                            IASTDeclarator declarator)

Specified by:
  `newTypeId` in interface `INodeFactory`
Since:
  5.2

#### newTypeIdExpression

    ICPPASTTypeIdExpression newTypeIdExpression(int operator,
                                                IASTTypeId typeId)

Specified by:
  `newTypeIdExpression` in interface `INodeFactory`

#### newTypeTransformationSpecifier

    ICPPASTTypeTransformationSpecifier newTypeTransformationSpecifier(ICPPUnaryTypeTransformation.Operator kind,
                                                                      ICPPASTTypeId typeId)

Since:
  5.6

#### newUnaryExpression

    ICPPASTUnaryExpression newUnaryExpression(int operator,
                                              IASTExpression operand)

Specified by:
  `newUnaryExpression` in interface `INodeFactory`

#### newUsingDeclaration

    ICPPASTUsingDeclaration newUsingDeclaration(IASTName name)

#### newUsingDirective

    ICPPASTUsingDirective newUsingDirective(IASTName name)

#### newVirtSpecifier

    ICPPASTVirtSpecifier newVirtSpecifier(ICPPASTVirtSpecifier.SpecifierKind kind)

Since:
  5.7

#### newVisibilityLabel

    ICPPASTVisibilityLabel newVisibilityLabel(int visibility)

#### newWhileStatement

    ICPPASTWhileStatement newWhileStatement()

#### newWhileStatement

    ICPPASTWhileStatement newWhileStatement(IASTDeclaration condition,
                                            IASTStatement body)

#### newWhileStatement

    ICPPASTWhileStatement newWhileStatement(IASTExpression condition,
                                            IASTStatement body)

Specified by:
  `newWhileStatement` in interface `INodeFactory`

#### newConstructorChainInitializer

    @Deprecated
    ICPPASTConstructorChainInitializer newConstructorChainInitializer(IASTName memberInitializerId,
                                                                                  IASTExpression initializerValue)

Deprecated. Replaced by `newConstructorChainInitializer(IASTName, IASTInitializer)`

#### newConstructorInitializer

    @Deprecated
    ICPPASTConstructorInitializer newConstructorInitializer(IASTExpression exp)

Deprecated. Replaced by `newConstructorInitializer(IASTInitializerClause[])`.

#### newBaseSpecifier

    @Deprecated
    ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier newBaseSpecifier(IASTName name,
                                                                                    int visibility,
                                                                                    boolean isVirtual)

Deprecated. Replaced by `newBaseSpecifier(ICPPASTNameSpecifier, int, boolean)`

#### newFunctionCallExpression

    @Deprecated
    ICPPASTFunctionCallExpression newFunctionCallExpression(IASTExpression idExpr,
                                                                        IASTExpression argList)

Deprecated. Replaced by `newFunctionCallExpression(IASTExpression, IASTInitializerClause[])`.

Specified by:
  `newFunctionCallExpression` in interface `INodeFactory`

#### newNewExpression

    @Deprecated
    ICPPASTNewExpression newNewExpression(IASTExpression placement,
                                                      IASTExpression initializer,
                                                      IASTTypeId typeId)

Deprecated. Replaced by `newNewExpression(IASTInitializerClause[], IASTInitializer, IASTTypeId)`

#### newQualifiedName

    @Deprecated
    ICPPASTQualifiedName newQualifiedName()

Deprecated. Replaced by `newQualifiedName(ICPPASTName)`.

#### newReferenceOperator

    @Deprecated
    ICPPASTReferenceOperator newReferenceOperator()

Deprecated. Replaced by `newReferenceOperator(boolean)`.

#### newTypenameExpression

    @Deprecated
    ICPPASTTypenameExpression newTypenameExpression(IASTName qualifiedName,
                                                                IASTExpression expr,
                                                                boolean isTemplate)

Deprecated. Replaced by `newSimpleTypeConstructorExpression(ICPPASTDeclSpecifier, IASTInitializer)`

#### newAttributeSpecifier

    @Deprecated
    org.eclipse.cdt.core.dom.parser.cpp.ICPPASTAttributeSpecifier newAttributeSpecifier()

Deprecated. Use newAttributeList() instead.

Since:
  5.7