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 Details

    • EMPTY_ARRAY

      static final IIndexName[] EMPTY_ARRAY
  • Method Details

    • 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