TypeArguments of the method invocation are ignored after the introduction of MethodInvocationReceiver in 3.0 gen.jdt.
Since java only allows to pass the type argument in case of having the receiver, I thought its better to have the reciver as the parent of the type arguments. In other words:
<String> emptyList() --> This runs into compilation error ❌
Collections.<String> emptyList() --> Works fine ✅
Also, typeArguments seem to be an empty list (not null) in case of having basic method invocations. So there is no need for additional null check.
I have also added a test to capture the newly added subtree.
This PR aims to fix issue https://github.com/GumTreeDiff/gumtree/issues/323.
TypeArguments of the method invocation are ignored after the introduction of MethodInvocationReceiver in 3.0 gen.jdt. Since java only allows to pass the type argument in case of having the receiver, I thought its better to have the reciver as the parent of the type arguments. In other words:
<String> emptyList()
--> This runs into compilation error ❌Collections.<String> emptyList()
--> Works fine ✅Also, typeArguments seem to be an empty list (not null) in case of having basic method invocations. So there is no need for additional null check. I have also added a test to capture the newly added subtree.