Package com.google.javascript.jscomp

# Class CallGraph.Callsite

java.lang.Object
com.google.javascript.jscomp.CallGraph.Callsite

Enclosing class:
  `CallGraph`

public class CallGraph.Callsite extends Object
An inner class that represents call sites in the call graph. A Callsite knows how to get its AST node, what its containing Function is, and what its target Functions are.

## Method Summary

Modifier and Type
Method
Description
`Node`
`getAstNode()`
`CallGraph.Function`
`getContainingFunction()`
`Collection<CallGraph.Function>`
`getPossibleTargets()`
Returns the possible target functions that this callsite could call.
`boolean`
`hasExternTarget()`
If true, then this callsite could target a function defined in the externs.
`boolean`
`hasUnknownTarget()`
If true, then DefinitionProvider used in callgraph construction was unable find all target functions of this callsite.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### getAstNode

public Node getAstNode()

### getContainingFunction

public CallGraph.Function getContainingFunction()

### getPossibleTargets

public Collection<CallGraph.Function> getPossibleTargets()
Returns the possible target functions that this callsite could call. These targets do not include functions defined in externs. If this callsite could call an extern function, then hasExternTarget() will return true. getKnownTargets() is a best effort only: the collection may include other functions that are not actual targets and (if hasUnknownTargets() is true) may be missing actual targets. This method should not be called on a Callsite from a CallGraph that was constructed with `computeForwardGraph` `false`.

### hasUnknownTarget

public boolean hasUnknownTarget()
If true, then DefinitionProvider used in callgraph construction was unable find all target functions of this callsite. If false, then getKnownTargets() contains all the possible targets of this callsite (and, perhaps, additional targets as well).

### hasExternTarget

public boolean hasExternTarget()
If true, then this callsite could target a function defined in the externs. If false, then not.