Eclipse CDT
7.0

org.eclipse.cdt.core.dom.ast
Interface IASTName

All Superinterfaces:
IASTNode, org.eclipse.cdt.core.dom.IName
All Known Subinterfaces:
IASTImplicitName, ICPPASTConversionName, ICPPASTName, ICPPASTOperatorName, ICPPASTQualifiedName, ICPPASTTemplateId

public interface IASTName
extends IASTNode, org.eclipse.cdt.core.dom.IName

This class represents a name in the program that represents a semantic object in the program.


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
 
Field Summary
static IASTName[] EMPTY_NAME_ARRAY
          Constant sentinel.
 
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
 
Fields inherited from interface org.eclipse.cdt.core.dom.IName
EMPTY_ARRAY
 
Method Summary
 IASTName copy()
          Returns a mutable copy of the tree rooted at this node.
 IASTName copy(IASTNode.CopyStyle style)
          Returns a mutable copy of the tree rooted at this node.
 IBinding getBinding()
          Returns the semantic object attached to this name.
 IASTCompletionContext getCompletionContext()
          Returns the completion context for this name.
 IASTImageLocation getImageLocation()
          Returns the image location for this name or null if the information is not available.
 IASTName getLastName()
          For convenience this method returns the last name of a qualified name or this if this is not a qualified name.
 org.eclipse.cdt.core.dom.ILinkage getLinkage()
          Determines the current linkage in which the name has to be resolved.
 char[] getLookupKey()
          Returns the key for looking up this name in a scope.
 IBinding getPreBinding()
          Returns the intermediate representation of the binding, if already available.
 int getRoleOfName(boolean allowResolution)
          Returns the role of this name.
 boolean isQualified()
          Returns whether this name is qualified, i.e. whether it is preceded by a scope operator.
 IBinding resolveBinding()
          Resolves the semantic object this name is referring to.
 IBinding resolvePreBinding()
          Resolves to an intermediate representation of the binding.
 void setBinding(IBinding binding)
          Sets the semantic object for this name to be the given binding
 char[] toCharArray()
          Returns the name including qualification and template arguments.
 java.lang.String toString()
          Same as 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.IName
getFileLocation, getSimpleID, isDeclaration, isDefinition, isReference
 

Field Detail

EMPTY_NAME_ARRAY

static final IASTName[] EMPTY_NAME_ARRAY
Constant sentinel.

Method Detail

toCharArray

char[] toCharArray()
Returns the name including qualification and template arguments.

Specified by:
toCharArray in interface org.eclipse.cdt.core.dom.IName

toString

java.lang.String toString()
Same as toCharArray().

Overrides:
toString in class java.lang.Object
Since:
5.1

getBinding

IBinding getBinding()
Returns the semantic object attached to this name. May be null if this name has not yet been semantically resolved (@see resolveBinding)

Returns:
IBinding if it has been resolved, otherwise null

resolveBinding

IBinding resolveBinding()
Resolves the semantic object this name is referring to.

Returns:
IBinding binding

getRoleOfName

int getRoleOfName(boolean allowResolution)
Returns the role of this name. If the name needs to be resolved to determine that and allowResolution is set to false, then IASTNameOwner.r_unclear is returned.

Parameters:
allowResolution - whether or not resolving the name is allowed.
Returns:
IASTNameOwner.r_definition, IASTNameOwner.r_declaration, IASTNameOwner.r_reference, IASTNameOwner.r_unclear.
Since:
5.0

getCompletionContext

IASTCompletionContext getCompletionContext()
Returns the completion context for this name.

Returns:
IASTCompletionContext the context for completion

getLinkage

org.eclipse.cdt.core.dom.ILinkage getLinkage()
Determines the current linkage in which the name has to be resolved.


getImageLocation

IASTImageLocation getImageLocation()
Returns the image location for this name or null if the information is not available.

An image location can be computed when the name is either found directly in the code, is (part of) an argument to a macro expansion or is (part of) a macro definition found in the source code.

The image location is null, when the name consists of multiple tokens (qualified names) and the tokens are not found side by side in the code, or if the name is the result of a token-paste operation or the name is found in the definition of a built-in macro.

Since:
5.0

getLastName

IASTName getLastName()
For convenience this method returns the last name of a qualified name or this if this is not a qualified name.

Since:
5.1

copy

IASTName 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 IASTNode
Since:
5.1

copy

IASTName 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 IASTNode
Parameters:
style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
Since:
5.3

setBinding

void setBinding(IBinding binding)
Sets the semantic object for this name to be the given binding


getLookupKey

char[] getLookupKey()
Returns the key for looking up this name in a scope.


getPreBinding

IBinding getPreBinding()
Returns the intermediate representation of the binding, if already available.


resolvePreBinding

IBinding resolvePreBinding()
Resolves to an intermediate representation of the binding.


isQualified

boolean isQualified()
Returns whether this name is qualified, i.e. whether it is preceded by a scope operator.

Since:
5.4

Eclipse CDT
7.0

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