Interface FunctionCall

All Known Implementing Classes:
AccessNode, BaseNode, IdentNode, IndexNode

public interface FunctionCall
Interface used by AccessNodes, IndexNodes and IdentNodes to signal that when evaluated, their value will be treated as a function and immediately invoked, e.g. foo(), foo.bar() or foo[bar](). Used to customize the priority of composite dynamic operations when emitting INVOKEDYNAMIC instructions that implement them, namely prioritize getMethod over getElem or getProp. An access or ident node with isFunction set to true will be emitted as dyn:getMethod|getProp|getElem while one with it set to false will be emitted as dyn:getProp|getElem|getMethod. Similarly, an index node with isFunction set to true will be emitted as dyn:getMethod|getElem|getProp while the one set to false will be emitted as dyn:getElem|getProp|getMethod.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true if the value of this expression will be treated as a function and immediately invoked.
  • Method Details

    • isFunction

      boolean isFunction()
      Returns true if the value of this expression will be treated as a function and immediately invoked.