org.eclipse.cdt.core.index

## Interface IIndexName

All Superinterfaces:
  IName

    public interface IIndexName
    extends IName

Interface for all the names in the index. These constitute either a declaration or a reference.

Since:
  4.0
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### Field Summary

Fields
`static IIndexName[]` `EMPTY_ARRAY`

### Method Summary

All Methods Instance Methods Abstract Methods
`boolean` `couldBePolymorphicMethodCall()` Returns whether this name potentially denotes a polymorphic method call.
`IIndexName[]` `getEnclosedNames()` Returns the names of the references contained in this definition.
`IIndexName` `getEnclosingDefinition()` Returns the name of the definition that contains this name.
`IIndexFile` `getFile()` Returns the file the name belongs to.
`int` `getNodeLength()` Returns the length of the name.
`int` `getNodeOffset()` Returns the character offset of the location of the name.
`boolean` `isBaseSpecifier()` Returns whether a declaration is a base-class specifier.
`boolean` `isInlineNamespaceDefinition()` Returns whether this name specifies an inline namespace.
`boolean` `isPotentialMatch()` Returns whether this name is a potential match for its binding, rather than an exact match.
`boolean` `isReadAccess()` Returns whether this name is a read-reference to a variable or field.
`boolean` `isWriteAccess()` Returns whether this name is a write-reference to a variable or field.

### Methods inherited from interface org.eclipse.cdt.core.dom.IName

`getFileLocation, getSimpleID, isDeclaration, isDefinition, isReference, toCharArray`

### Field Detail

#### EMPTY_ARRAY

    static final IIndexName[] EMPTY_ARRAY

### Method Detail

#### getFile

    IIndexFile getFile()
                throws org.eclipse.core.runtime.CoreException

Returns the file the name belongs to.

Throws:
  `org.eclipse.core.runtime.CoreException`

#### getNodeOffset

    int getNodeOffset()

Returns the character offset of the location of the name.

#### getNodeLength

    int getNodeLength()

Returns the length of the name.

#### getEnclosingDefinition

    IIndexName getEnclosingDefinition()
                               throws org.eclipse.core.runtime.CoreException

Returns the name of the definition that contains this name. May return `null`. Currently this is implemented for function and method definitions, only.

Throws:
  `org.eclipse.core.runtime.CoreException`

#### getEnclosedNames

    IIndexName[] getEnclosedNames()
                           throws org.eclipse.core.runtime.CoreException

Returns the names of the references contained in this definition. Returns `null`, if the name is not a definition. Currently the method works with function definitions, only.

Throws:
  `org.eclipse.core.runtime.CoreException`

#### isBaseSpecifier

    boolean isBaseSpecifier()
                     throws org.eclipse.core.runtime.CoreException

Returns whether a declaration is a base-class specifier.

Throws:
  `org.eclipse.core.runtime.CoreException`

#### couldBePolymorphicMethodCall

    boolean couldBePolymorphicMethodCall()
                                  throws org.eclipse.core.runtime.CoreException

Returns whether this name potentially denotes a polymorphic method call. This is the case when the name is not qualified and denotes a method call and the method is accessed via a pointer or a reference to an object.

No checks are performed whether the method is actually virtual or not.

Throws:
  `org.eclipse.core.runtime.CoreException`

#### isPotentialMatch

    boolean isPotentialMatch()
                      throws org.eclipse.core.runtime.CoreException

Returns whether this name is a potential match for its binding, rather than an exact match. An example of a potential match might be a function definition that does match a declaration exactly in signature.

Throws:
  `org.eclipse.core.runtime.CoreException`
Since:
  6.5

#### isInlineNamespaceDefinition

    boolean isInlineNamespaceDefinition()
                                 throws org.eclipse.core.runtime.CoreException

Returns whether this name specifies an inline namespace.

Throws:
  `org.eclipse.core.runtime.CoreException`
Since:
  5.3

#### isReadAccess

    boolean isReadAccess()
                  throws org.eclipse.core.runtime.CoreException

Returns whether this name is a read-reference to a variable or field. The notion of a read-reference may not strictly reflect what your compiler generates, heuristics may be used.

For pointers and arrays the access to the pointer itself is tracked, rather than considering the target of the pointer.

Throws:
  `org.eclipse.core.runtime.CoreException`

#### isWriteAccess

    boolean isWriteAccess()
                   throws org.eclipse.core.runtime.CoreException

Returns whether this name is a write-reference to a variable or field. The notion of a write-reference may not strictly reflect what your compiler generates, heuristics may be used.

For pointers and arrays the access to the pointer itself is tracked, rather than considering the target of the pointer.

Throws:
  `org.eclipse.core.runtime.CoreException`