Predicate instantiates
Holds if the type t
is a parameterization of g
, where the i
-th type parameter of
g
is instantiated to arg
.
For example, List<Integer>
parameterizes List<T>
, instantiating its 0
-th
type parameter to Integer
, while the raw type List
also parameterizes
List<T>
, instantiating the type parameter to Object
.
Import path
import semmle.code.java.Collections
predicate instantiates(RefType t, GenericType g, int i, RefType arg)