Interface IASTImplicitName

  • All Superinterfaces:
    IASTName, IASTNode, 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
    Restriction:
    This interface is not intended to be implemented by clients.
    Restriction:
    This interface is not intended to be extended by clients.
    • 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.