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:
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

  • Method Details

    • 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:
    • isOperator

      boolean isOperator()
      Convenience method that returns true if this name represents an overloaded operator.
    • copy

      This method is not supported on implicit names. Implicit names are not copied when an AST is copied, instead the implicit names are regenerated when needed.
      Specified by:
      copy in interface IASTName
      Specified by:
      copy in interface IASTNode
      Throws:
      UnsupportedOperationException - always