| // Test case for Issue #2686 |
| // https://github.com/typetools/checker-framework/issues/2686 |
| |
| import org.checkerframework.common.value.qual.UnknownVal; |
| |
| public class MyTree2<Value> { |
| |
| public static <V> MyTree2<V> newTree(V value) { |
| throw new Error("body doesn't matter"); |
| } |
| |
| public MyTree2<Value> put(String newKey, Value newValue) { |
| throw new Error("body doesn't matter"); |
| } |
| |
| public void client1() { |
| MyTree2<String> root2 = MyTree2.newTree("constructorarg").put("key1", "value1"); |
| } |
| |
| public void client2() { |
| MyTree2<String> root2 = |
| MyTree2.newTree((@UnknownVal String) "constructorarg").put("key1", "value1"); |
| } |
| |
| public void client3() { |
| MyTree2<String> root2 = |
| MyTree2.<String>newTree((@UnknownVal String) "constructorarg").put("key1", "value1"); |
| } |
| } |