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

# Interface ICPPASTQualifiedName

All Superinterfaces:
  `IASTName`, `IASTNameOwner`, `IASTNode`, `ICPPASTName`, `ICPPASTNameSpecifier`, `IName`

public interface ICPPASTQualifiedName extends ICPPASTName, IASTNameOwner
This interface is a qualified name in C++.

Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`IASTNode.CopyStyle`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final ASTNodeProperty`
`SEGMENT_NAME`
Each ICPPASTNameSpecifier segment has property being `SEGMENT_NAME`.

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTName

`EMPTY_NAME_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner

`r_declaration, r_definition, r_reference, r_unclear`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode

`EMPTY_NODE_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNameSpecifier

`EMPTY_NAME_SPECIFIER_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.IName

`EMPTY_ARRAY`

## Method Summary

Modifier and Type
Method
Description
`void`
`addName(IASTName name)`
Adds a name segment.
`void`
`addNameSpecifier(ICPPASTNameSpecifier nameSpecifier)`
Adds a segment to the end of the qualifier.
`ICPPASTQualifiedName`
`copy()`
Returns a mutable copy of the tree rooted at this node.
`ICPPASTQualifiedName`
`copy(IASTNode.CopyStyle style)`
Returns a mutable copy of the tree rooted at this node.
`ICPPASTNameSpecifier[]`
`getAllSegments()`
Returns all segments of the name.
`IASTName`
`getLastName()`
The last name is often semantically significant.
`ICPPASTNameSpecifier[]`
`getQualifier()`
Returns all segments of the name but the last.
`boolean`
`isConversionOrOperator()`
Returns `true` if last segment is an ICPPASTConversionName or an ICPPASTOperatorName.
`boolean`
`isFullyQualified()`
Is this name fully qualified?
`void`
`setFullyQualified(boolean value)`
Sets this name to be fully qualified or not (true/false).
`void`
`setLastName(ICPPASTName name)`
Sets the last name.

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

`getBinding, getCompletionContext, getImageLocation, getLinkage, getLookupKey, getPreBinding, getRoleOfName, isQualified, resolveBinding, resolvePreBinding, setBinding, toCharArray, toString`

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

`getRoleForName`

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

`accept, contains, getChildren, getContainingFilename, getFileLocation, getLeadingSyntax, getNodeLocations, getOriginalNode, getParent, getPropertyInParent, getRawSignature, getSyntax, getTrailingSyntax, getTranslationUnit, isActive, isFrozen, isPartOfTranslationUnitFile, setParent, setPropertyInParent`

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

`resolveBinding, resolvePreBinding, toCharArray`

### Methods inherited from interface org.eclipse.cdt.core.dom.IName

`getFileLocation, getSimpleID, isDeclaration, isDefinition, isReference`

## Field Details

### SEGMENT_NAME

static final ASTNodeProperty SEGMENT_NAME
Each ICPPASTNameSpecifier segment has property being `SEGMENT_NAME`.

## Method Details

### addName

void addName(IASTName name)
Adds a name segment.

Parameters:
  `name` - `IASTName`

### addNameSpecifier

void addNameSpecifier(ICPPASTNameSpecifier nameSpecifier)
Adds a segment to the end of the qualifier.

Since:
  5.6

### setLastName

void setLastName(ICPPASTName name)
Sets the last name.

Since:
  5.6

### getQualifier

ICPPASTNameSpecifier[] getQualifier()
Returns all segments of the name but the last.

Since:
  5.6

### getAllSegments

ICPPASTNameSpecifier[] getAllSegments()
Returns all segments of the name. This method is less efficient than calling getQualifier() and getLastName() separately, because it constructs a new array. It is provided mainly to ease transition of client code from getNames() to getQualifier() and getLastName().

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

### getLastName

IASTName getLastName()
The last name is often semantically significant.

Specified by:
  `getLastName` in interface `IASTName`

### isFullyQualified

boolean isFullyQualified()
Is this name fully qualified?

Returns:
  boolean

### setFullyQualified

void setFullyQualified(boolean value)
Sets this name to be fully qualified or not (true/false).

Parameters:
  `value` - boolean

### isConversionOrOperator

boolean isConversionOrOperator()
Returns `true` if last segment is an ICPPASTConversionName or an ICPPASTOperatorName.

### copy

ICPPASTQualifiedName copy()
Description copied from interface: `IASTNode`
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:

     copy.getParent() == null
     copy.getPropertyInParent() == null
     copy.isFrozen() == false

Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

Calling this method is equivalent to `copy(CopyStyle.withoutLocations)`.

Specified by:
  `copy` in interface `IASTName`
Specified by:
  `copy` in interface `IASTNode`
Specified by:
  `copy` in interface `ICPPASTName`
Specified by:
  `copy` in interface `ICPPASTNameSpecifier`
Since:
  5.1

### copy

ICPPASTQualifiedName copy(IASTNode.CopyStyle style)
Description copied from interface: `IASTNode`
Returns a mutable copy of the tree rooted at this node. The following postconditions hold:

     copy.getParent() == null
     copy.getPropertyInParent() == null
     copy.isFrozen() == false

Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

Specified by:
  `copy` in interface `IASTName`
Specified by:
  `copy` in interface `IASTNode`
Specified by:
  `copy` in interface `ICPPASTName`
Specified by:
  `copy` in interface `ICPPASTNameSpecifier`
Parameters:
  `style` - `IASTNode.CopyStyle` create a copy with or without locations. Please see `IASTNode.CopyStyle` for restrictions on copies with Locations.
Since:
  5.3