Eclipse CDT
7.0

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

All Superinterfaces:
IASTName, IASTNameOwner, IASTNode, ICPPASTName, ICPPASTNameSpecifier, org.eclipse.cdt.core.dom.IName

public interface ICPPASTQualifiedName
extends ICPPASTName, IASTNameOwner

This interface is a qualified name in C++.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
 
Field Summary
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.IName
EMPTY_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.ast.IASTNode
EMPTY_NODE_ARRAY
 
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNameOwner
r_declaration, r_definition, r_reference, r_unclear
 
Method Summary
 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.
 IASTName[] getNames()
          Deprecated. This cannot represent all qualified names in C++11, where the first segment of a qualifier name may be a decltype-specifier. Use getLastName() and getQualifier() instead. If called on a name where a segment is a decltype-specifier, UnsupportedOperationException is thrown.
 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.IName
getFileLocation, getSimpleID, isDeclaration, isDefinition, isReference
 
Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNameSpecifier
resolveBinding, resolvePreBinding, toCharArray
 
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.IASTNameOwner
getRoleForName
 

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

getNames

@Deprecated
IASTName[] getNames()
Deprecated. This cannot represent all qualified names in C++11, where the first segment of a qualifier name may be a decltype-specifier. Use getLastName() and getQualifier() instead. If called on a name where a segment is a decltype-specifier, UnsupportedOperationException is thrown.

Returns all name segments.

Returns:
IASTName []

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

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

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

Eclipse CDT
7.0

Copyright (c) IBM Corp. and others 2004, 2012. All Rights Reserved.