Eclipse CDT
7.0

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

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

public interface IASTImplicitName
extends IASTName

An implicit name is used to resolve uses of implicit bindings, such as overloaded operators. Implicit names are not generated unless they resolve to something.

Since:
5.1
See Also:
ASTVisitor.shouldVisitImplicitNames

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eclipse.cdt.core.dom.ast.IASTNode
IASTNode.CopyStyle
 
Field Summary
static IASTImplicitName[] EMPTY_NAME_ARRAY
           
 
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()
          This method is not supported on implicit names.
 boolean isAlternate()
          Returns true if this node is an alternate.
 boolean isOperator()
          Convenience method that returns true if this name represents an overloaded operator.
 IBinding resolveBinding()
          Resolves the semantic object this name is referring to.
 
Methods inherited from interface org.eclipse.cdt.core.dom.ast.IASTName
copy, getBinding, getCompletionContext, getImageLocation, getLastName, getLinkage, getLookupKey, getPreBinding, getRoleOfName, isQualified, resolvePreBinding, setBinding, toCharArray, toString
 
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 IASTImplicitName[] EMPTY_NAME_ARRAY
Method Detail

resolveBinding

IBinding resolveBinding()
Resolves the semantic object this name is referring to. Redeclared with strengthened postcondition. Will not return null, but may return a problem binding, for example for an implicit constructor call.

Specified by:
resolveBinding in interface IASTName
Returns:
IBinding binding

isAlternate

boolean isAlternate()
Returns true if this node is an alternate. Sometimes more than one implicit name is generated for the same binding but with different offsets, when this happens the additional names generated are considered alternates.

See Also:
ASTVisitor.shouldVisitImplicitNameAlternates

isOperator

boolean isOperator()
Convenience method that returns true if this name represents an overloaded operator.


copy

IASTName copy()
              throws java.lang.UnsupportedOperationException
This method is not supported on implicit names. Implicit names are not copied when an AST is copied, instead the implicit names are regenerated when needed.

Specified by:
copy in interface IASTName
Specified by:
copy in interface IASTNode
Throws:
java.lang.UnsupportedOperationException - always

Eclipse CDT
7.0

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