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

Modifier and Type
Method
Description
`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)`
`ICPPASTDeductionGuide`
`newDeductionGuide()`
`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)`
`ICPPASTFoldExpression`
`newFoldExpression(int opToken, boolean isComma, IASTExpression lhs, IASTExpression rhs)`
`IASTExpression`
`newFoldExpressionToken()`
`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, boolean useChar8Type)`
`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 Details

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

### newFoldExpressionToken

IASTExpression newFoldExpressionToken()

Since:
  8.1

### newFoldExpression

ICPPASTFoldExpression newFoldExpression(int opToken, boolean isComma, IASTExpression lhs, IASTExpression rhs)

Since:
  8.1

### newDeductionGuide

ICPPASTDeductionGuide newDeductionGuide()

Since:
  8.2

### 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, boolean useChar8Type)

Since:
  8.2

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