Package 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
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### 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()`
`ICPPASTAttributeSpecifier` `newAttributeSpecifier()` Deprecated. Use newAttributeList() instead.
`ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier` `newBaseSpecifier​(ICPPASTNameSpecifier nameSpecifier, int visibility, boolean isVirtual)`
`ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier` `newBaseSpecifier​(IASTName name, int visibility, boolean isVirtual)` Deprecated. Replaced by `newBaseSpecifier(ICPPASTNameSpecifier, int, boolean)`
`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)` Deprecated. Use `newEnumerationSpecifier(ScopeToken, IASTName, ICPPASTDeclSpecifier)` instead.
`ICPPASTEnumerationSpecifier` `newEnumerationSpecifier​(ICPPASTEnumerationSpecifier.ScopeStyle scopeStyle, 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)`
`ICPPASTInitCapture` `newInitCapture​(ICPPASTDeclarator declarator)`
`ICPPASTInitializerList` `newInitializerList()`
`ICPPASTLambdaExpression` `newLambdaExpression()`
`ICPPASTLinkageSpecification` `newLinkageSpecification​(String literal)`
`ICPPASTLiteralExpression` `newLiteralExpression​(int kind, String rep)`
`ICPPASTLiteralExpression` `newLiteralExpression​(int kind, String rep, char[] numericCompilerSuffixes)`
`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​(String[] nameQualifiers, String name)` Creates an `ICPPASTQualifiedName` and adds name qualifiers for the elements of `nameQualifiers`.
`ICPPASTQualifiedName` `newQualifiedName​(ICPPASTName name)` Creates a `ICPPASTQualifiedName`.
`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)`
`ICPPASTStaticAssertDeclaration` `newStaticAssertion​(IASTExpression condition, ICPPASTLiteralExpression message)` Creates a new static assertion declaration with the given condition and message.
`ICPPASTStructuredBindingDeclaration` `newStructuredBindingDeclaration()`
`ICPPASTStructuredBindingDeclaration` `newStructuredBindingDeclaration​(ICPPASTSimpleDeclSpecifier declSpecifier, ICPPASTFunctionDeclarator.RefQualifier refQualifier, IASTName[] names, IASTInitializer initializer)`
`ICPPASTSwitchStatement` `newSwitchStatement()`
`ICPPASTSwitchStatement` `newSwitchStatement​(IASTDeclaration controller, IASTStatement body)`
`ICPPASTSwitchStatement` `newSwitchStatement​(IASTExpression controlloer, IASTStatement body)`
`ICPPASTTemplateDeclaration` `newTemplateDeclaration​(IASTDeclaration declaration)`
`ICPPASTTemplatedTypeTemplateParameter` `newTemplatedTypeTemplateParameter​(int type, IASTName name, IASTExpression defaultValue)`
`ICPPASTTemplatedTypeTemplateParameter` `newTemplatedTypeTemplateParameter​(IASTName name, IASTExpression defaultValue)`
`ICPPASTTemplateId` `newTemplateId​(IASTName templateName)`
`ICPPASTTemplateName` `newTemplateName​(char[] templateName)`
`ICPPASTTemplateSpecialization` `newTemplateSpecialization​(IASTDeclaration declaration)`
`ICPPASTTranslationUnit` `newTranslationUnit​(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, newMSDeclspecList, 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

#### newInitCapture

    ICPPASTInitCapture newInitCapture​(ICPPASTDeclarator declarator)

Since:
  6.5

#### 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

    @Deprecated
    ICPPASTEnumerationSpecifier newEnumerationSpecifier​(boolean isScoped,
                                                        IASTName name,
                                                        ICPPASTDeclSpecifier baseType)

Deprecated.
Use `newEnumerationSpecifier(ScopeToken, IASTName, ICPPASTDeclSpecifier)` instead. If `isScoped == true` is passed `ScopeToken.CLASS` is assumed.

Since:
  5.2

#### newEnumerationSpecifier

    ICPPASTEnumerationSpecifier newEnumerationSpecifier​(ICPPASTEnumerationSpecifier.ScopeStyle scopeStyle,
                                                        IASTName name,
                                                        ICPPASTDeclSpecifier baseType)

Since:
  6.6

#### 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`

#### newLiteralExpression

    ICPPASTLiteralExpression newLiteralExpression​(int kind,
                                                  String rep,
                                                  char[] numericCompilerSuffixes)

Since:
  6.5

#### 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

#### newTemplateName

    ICPPASTTemplateName newTemplateName​(char[] templateName)

Since:
  6.6

#### 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

#### newStaticAssertion

    ICPPASTStaticAssertDeclaration newStaticAssertion​(IASTExpression condition)

Since:
  6.5

#### 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)

#### newTemplatedTypeTemplateParameter

    ICPPASTTemplatedTypeTemplateParameter newTemplatedTypeTemplateParameter​(int type,
                                                                            IASTName name,
                                                                            IASTExpression defaultValue)

Since:
  6.6

#### newTemplateId

    ICPPASTTemplateId newTemplateId​(IASTName templateName)

#### newTemplateSpecialization

    ICPPASTTemplateSpecialization newTemplateSpecialization​(IASTDeclaration declaration)

#### newTranslationUnit

    ICPPASTTranslationUnit newTranslationUnit​(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)`

Restriction:
  This method is not intended to be referenced by clients.

#### newConstructorInitializer

    @Deprecated
    ICPPASTConstructorInitializer newConstructorInitializer​(IASTExpression exp)

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

Restriction:
  This method is not intended to be referenced by clients.

#### newBaseSpecifier

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

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

Restriction:
  This method is not intended to be referenced by clients.

#### newFunctionCallExpression

    @Deprecated
    ICPPASTFunctionCallExpression newFunctionCallExpression​(IASTExpression idExpr,
                                                            IASTExpression argList)

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

Specified by:
  `newFunctionCallExpression` in interface `INodeFactory`
Restriction:
  This method is not intended to be referenced by clients.

#### newNewExpression

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

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

Restriction:
  This method is not intended to be referenced by clients.

#### newQualifiedName

    @Deprecated
    ICPPASTQualifiedName newQualifiedName()

Deprecated.
Replaced by `newQualifiedName(ICPPASTName)`.

Restriction:
  This method is not intended to be referenced by clients.

#### newReferenceOperator

    @Deprecated
    ICPPASTReferenceOperator newReferenceOperator()

Deprecated.
Replaced by `newReferenceOperator(boolean)`.

Restriction:
  This method is not intended to be referenced by clients.

#### newTypenameExpression

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

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

Restriction:
  This method is not intended to be referenced by clients.

#### newAttributeSpecifier

    @Deprecated
    ICPPASTAttributeSpecifier newAttributeSpecifier()

Deprecated.
Use newAttributeList() instead.

Since:
  5.7
Restriction:
  This method is not intended to be referenced by clients.

#### newStructuredBindingDeclaration

    ICPPASTStructuredBindingDeclaration newStructuredBindingDeclaration()

Since:
  6.9

#### newStructuredBindingDeclaration

    ICPPASTStructuredBindingDeclaration newStructuredBindingDeclaration​(ICPPASTSimpleDeclSpecifier declSpecifier,
                                                                        ICPPASTFunctionDeclarator.RefQualifier refQualifier,
                                                                        IASTName[] names,
                                                                        IASTInitializer initializer)

Since:
  6.9