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