Interface ICPPASTQualifiedName

All Superinterfaces:
IASTName, IASTNameOwner, IASTNode, ICPPASTName, ICPPASTNameSpecifier, IName

public interface ICPPASTQualifiedName extends ICPPASTName, IASTNameOwner
This interface is a qualified name in C++.
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • SEGMENT_NAME

      static final ASTNodeProperty SEGMENT_NAME
      Each ICPPASTNameSpecifier segment has property being SEGMENT_NAME.
  • Method Details

    • addName

      void addName(IASTName name)
      Adds a name segment.
      Parameters:
      name - IASTName
    • addNameSpecifier

      void addNameSpecifier(ICPPASTNameSpecifier nameSpecifier)
      Adds a segment to the end of the qualifier.
      Since:
      5.6
    • setLastName

      void setLastName(ICPPASTName name)
      Sets the last name.
      Since:
      5.6
    • getQualifier

      ICPPASTNameSpecifier[] getQualifier()
      Returns all segments of the name but the last.
      Since:
      5.6
    • getAllSegments

      ICPPASTNameSpecifier[] getAllSegments()
      Returns all segments of the name. This method is less efficient than calling getQualifier() and getLastName() separately, because it constructs a new array. It is provided mainly to ease transition of client code from getNames() to getQualifier() and getLastName().
      Since:
      5.6
      Restriction:
      This method is not intended to be referenced by clients.
    • getLastName

      IASTName getLastName()
      The last name is often semantically significant.
      Specified by:
      getLastName in interface IASTName
    • isFullyQualified

      boolean isFullyQualified()
      Is this name fully qualified?
      Returns:
      boolean
    • setFullyQualified

      void setFullyQualified(boolean value)
      Sets this name to be fully qualified or not (true/false).
      Parameters:
      value - boolean
    • isConversionOrOperator

      boolean isConversionOrOperator()
      Returns true if last segment is an ICPPASTConversionName or an ICPPASTOperatorName.
    • copy

      Description copied from interface: IASTNode
      Returns a mutable copy of the tree rooted at this node. The following postconditions hold:
       copy.getParent() == null
       copy.getPropertyInParent() == null
       copy.isFrozen() == false
       
      Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.

      Calling this method is equivalent to copy(CopyStyle.withoutLocations).

      Specified by:
      copy in interface IASTName
      Specified by:
      copy in interface IASTNode
      Specified by:
      copy in interface ICPPASTName
      Specified by:
      copy in interface ICPPASTNameSpecifier
      Since:
      5.1
    • copy

      Description copied from interface: IASTNode
      Returns a mutable copy of the tree rooted at this node. The following postconditions hold:
       copy.getParent() == null
       copy.getPropertyInParent() == null
       copy.isFrozen() == false
       
      Preprocessor nodes do not currently support being copied. Implicit name nodes are not copied, instead they can be regenerated if required.
      Specified by:
      copy in interface IASTName
      Specified by:
      copy in interface IASTNode
      Specified by:
      copy in interface ICPPASTName
      Specified by:
      copy in interface ICPPASTNameSpecifier
      Parameters:
      style - IASTNode.CopyStyle create a copy with or without locations. Please see IASTNode.CopyStyle for restrictions on copies with Locations.
      Since:
      5.3