Eclipse CDT
Pre-release 3.0

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

All Superinterfaces:
IASTNode, org.eclipse.cdt.core.dom.IName
All Known Subinterfaces:
ICPPASTConversionName, 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. The toString method produces a string representation of the name as appropriate for the language.


Field Summary
static IASTName[] EMPTY_NAME_ARRAY
          Constant sentinel.
 
Fields inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
EMPTY_NODE_ARRAY
 
Method Summary
 IBinding getBinding()
          Get the semantic object attached to this name.
 IASTCompletionContext getCompletionContext()
          Return the completion context for this name.
 IASTImageLocation getImageLocation()
          Returns the image location for this name or null if the information is not available.
 org.eclipse.cdt.core.dom.ILinkage getLinkage()
          Determines the current linkage in which the name has to be resolved.
 int getRoleOfName(boolean allowResolution)
          Get the role of this name.
 IBinding resolveBinding()
          Resolve the semantic object this name is referring to.
 void setBinding(IBinding binding)
          Set the semantic object for this name to be the given binding
 
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
accept, contains, getContainingFilename, getFileLocation, getNodeLocations, getParent, getPropertyInParent, getRawSignature, getTranslationUnit, isPartOfTranslationUnitFile, setParent, setPropertyInParent
 
Methods inherited from interface org.eclipse.cdt.core.dom.IName
getFileLocation, isDeclaration, isDefinition, isReference, toCharArray
 

Field Detail

EMPTY_NAME_ARRAY

static final IASTName[] EMPTY_NAME_ARRAY
Constant sentinel.

Method Detail

getBinding

IBinding getBinding()
Get 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

setBinding

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

Parameters:
binding -

resolveBinding

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

Returns:
IBinding binding

getRoleOfName

int getRoleOfName(boolean allowResolution)
Get 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()
Return 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

Eclipse CDT
Pre-release 3.0

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