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

All Methods Instance Methods Abstract Methods
`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 Detail

#### SEGMENT_NAME

    static final ASTNodeProperty SEGMENT_NAME

Each ICPPASTNameSpecifier segment has property being `SEGMENT_NAME`.

### Method Detail

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