org.eclipse.cdt.core.dom.ast

## Interface IASTImplicitName

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

All Known Subinterfaces:
  IASTImplicitDestructorName

    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

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

All Methods Instance Methods Abstract Methods
`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 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:
  `UnsupportedOperationException` - always