1*f0340d8eSSorin Bascapackage me.tomassetti.symbolsolver.javaparser;
2*f0340d8eSSorin Basca
3*f0340d8eSSorin Bascaimport java.util.Optional;
4*f0340d8eSSorin Bascaimport java.util.List;
5*f0340d8eSSorin Basca
6*f0340d8eSSorin Bascapublic final class Generics {
7*f0340d8eSSorin Basca
8*f0340d8eSSorin Basca    Optional<String> s;
9*f0340d8eSSorin Basca    Optional<Integer> i;
10*f0340d8eSSorin Basca    Optional<Generics> g;
11*f0340d8eSSorin Basca
12*f0340d8eSSorin Basca}
13*f0340d8eSSorin Basca
14*f0340d8eSSorin Bascapublic final class SomeCollection<A> {
15*f0340d8eSSorin Basca
16*f0340d8eSSorin Basca    public A a;
17*f0340d8eSSorin Basca    public List<A> as;
18*f0340d8eSSorin Basca
19*f0340d8eSSorin Basca    public void foo1(){
20*f0340d8eSSorin Basca        new SomeCollection<String>().a;
21*f0340d8eSSorin Basca    }
22*f0340d8eSSorin Basca
23*f0340d8eSSorin Basca    public void foo2(){
24*f0340d8eSSorin Basca        new SomeCollection<String>().as;
25*f0340d8eSSorin Basca    }
26*f0340d8eSSorin Basca
27*f0340d8eSSorin Basca}
28*f0340d8eSSorin Basca
29*f0340d8eSSorin Bascapublic final class GenericMethodCalls {
30*f0340d8eSSorin Basca
31*f0340d8eSSorin Basca    public class Base <T> {
32*f0340d8eSSorin Basca
33*f0340d8eSSorin Basca        public void callee(T data) {
34*f0340d8eSSorin Basca        }
35*f0340d8eSSorin Basca
36*f0340d8eSSorin Basca    }
37*f0340d8eSSorin Basca
38*f0340d8eSSorin Basca    public class Derived extends Base<String> {
39*f0340d8eSSorin Basca
40*f0340d8eSSorin Basca        public void caller() {
41*f0340d8eSSorin Basca            callee("test");
42*f0340d8eSSorin Basca        }
43*f0340d8eSSorin Basca
44*f0340d8eSSorin Basca    }
45*f0340d8eSSorin Basca
46*f0340d8eSSorin Basca}